使用一个<表单>'s的选择馈送到另一<表单>
Using one <form>'s selection to feed into another <form>?
在php中,我有一个大的html <form>
,其中填充了来自postgres数据库的许多行患者信息。当医生双击一行时,它会在$_POST
中设置一个var,并调用另一个php脚本从数据库中读取并显示有关该行的特定信息。这一切都有效。
但现在有太多的患者数据行,医生不想滚动来找到他们要查找的患者行,他们想要一个患者预过滤器<form>
,这样点击其中的元素就会导致大的显示被过滤到该患者的行。
做这件事的基本方法是什么?我是个新手;我目前正在使用html、php和一些javascript。
用你想过滤的任何选项制作第二个表单,这部分将特定于你的数据,但你想要类似的东西
<form id="search-form">
<label>Name:</label><input type="text" name="patient-name"></input>
</form>
您需要构建一个查询字符串(并确保使用GET,因为这会让您的工作更轻松)。如果你想使用单选按钮或类似的东西,这将需要调整,但这里有一个大致的想法:
function getSearchParameters () {
var form = document.getElementById('search-form');
var inputs = form.getElementsByTagName('input');
var result = '';
var i;
for (i = 0; i < inputs.length; i++) {
if (inputs[i].value) {
result += "&" + inputs[i].name + "=" + inputs[i].value;
}
}
return result;
}
在患者数据链接的onClick处理程序中,您将调用此函数并将其结果附加到查询字符串中:
element.onclick = function () {
var patientDataUrl = '/patients.php?param1=someValue';
patientDataUrl += getQueryParameters();
/* then do your ajax stuff as normal */
};
然后在服务器端,在patients.php中只需检查是否存在搜索字段,即
if(isset($_GET['patient-name'])) {
$patient_name = mysql_real_escape_string($_GET['patient-name']);
$query = "SELECT * FROM `patients` WHERE `patient_name`='$patient_name';";
} else {
$query = "SELECT * FROM `patients`;";
}
(确保对字符串进行消毒!)
我建议考虑一个JS框架,让你的生活更轻松(例如,jQuery允许你通过POST发送它,或者通过.serialize()
轻松地将它序列化为GET查询字符串)
相关文章:
- 正在检测导航到<a name=“;最新主题”></a>
- 如何附加<ul><李>元素位于某个特定条件的父元素列表之间
- 在<script src=“"></脚本>标签
- 等效于<script src=“;something1.json”></脚本>
- CSS/.JS问题,<ul><李>在Megamenu中
- 如何在<td></td>在Procractor中
- 显示“<script src='some.js'></脚本>"在Html文档中
- 如何将Array转换为<ul><李>以字母为标题的字母列表
- <script src=“//代码.jquery.com/jquery-1.11.1.min.js”></
- 选择<脚本></脚本>作为html正文中的纯文本
- 可折叠<UL><李>不起作用
- $.mobile.loadPage()和$(“linkBtn”).click();t负载<头部></头部&
- <脚本/>vs<脚本></脚本>webpack和angular
- Javascript/RRails-如何包装link_to而不是<a></a>在javascript
- jQuery在处理<选择><选项>
- 布局lt md已被弃用.请使用`layout gt-<xxx>`变种
- 在<%%中定义的访问变量>从<脚本></脚本>
- 页面设计<a href><按钮><输入>在JSP中
- 注入html标记<ul></ul>在我的<李></李>元素
- jQuery选择器<按钮></按钮>