输入第一个值时,自动填充文本框以及数据库值

时间:2014-06-04 11:59:58

标签: javascript php ajax

我在这里链接问题,这是问题LINK IS HERE

的延续

实际上我通过改变这样的脚本来完成这项工作

我的javascript

       <script type="text/javascript">   
$(document).ready(function()
{ var ac_config = { source: "fill_patient_info.php", select: function(event, ui){ $("#p_name").val(ui.item.p_name); $("#p_dob").val(ui.item.p_dob) }, minLength:1 }; $("#p_name").autocomplete(ac_config); }); 
</script>

和fill_patient_info1.php

$p_name = $_GET['p_name'];
$result = mysql_query("SELECT patient_id, patient_name, dob from patient WHERE patient_name LIKE '".$p_name."%'"); 

$myrow = mysql_fetch_array($result);
if(mysql_num_rows($result))
{
$p_name = $myrow["patient_name"]; 
$p_dob = $myrow["dob"]; 


$textout = $p_name.','.$p_dob; 
echo $textout;
}else
 {
echo "Sorry This Patient Does Not Exist";   
}

它无法正常工作。如果我有一个以上相同字母的名称,我无法输入第一个文本框。一旦我输入第一个字母,它就会填写名称和dob,第一个患者姓名从该字母开始。之后,我无法删除和更改它。

这是我的患者姓名和dob的输入框,应自动填写(表格)

<form name="consult" method="post" action="consult_submit.php" enctype="multipart/form-data" onsubmit="return validate()">
<table class="selection">
<tr><td>Patient Name  :</td><td><input type="text" name="p_name" id="p_name" onkeyup="return filldetail()"  /></td></tr>

<tr><td>DOB :</td><td><input type="text" name="p_dob" id="p_dob" class="tcal" /></td></tr>

请建议如何纠正

1 个答案:

答案 0 :(得分:0)

而不是onkeyup您需要使用onblur。如果您使用onkeyup事件,则只要您使用键盘输入charecter,就会调用javascript函数。如果使用onblur,则在完成输入文本并从文本字段更改焦点时将调用该函数。

<form name="consult" method="post" action="consult_submit.php" enctype="multipart/form-data" onsubmit="return validate()">
<table class="selection">
<tr><td>Patient Name  :</td><td><input type="text" name="p_name" id="p_name" onblur="return filldetail()"  /></td></tr>

<tr><td>DOB :</td><td><input type="text" name="p_dob" id="p_dob" class="tcal" /></td></tr>