我的表单有receipt_no文本框..
我需要搜索文本框模糊事件或文本框按键事件的数据。
来自这个receipt_no文本框。我需要在另一个文本框中搜索数据库和回显值......
请帮忙......
<?php
function myFunction()
{
if(isset($_POST['receipt_no']))
{
$receipt_no = $_POST['receipt_no'];
$result = $database->getRow("SELECT receipt_no,scheme_name FROM scheme_master where receipt_no = :receipt_no",array(':receipt_no'=>$receipt_no));
if($result!=0)
{
while ($row = $result->fetchObject())
{
echo $row->scheme_name;
}
}
}
}
?>
<form action="" method="post">
<input type="text" name="receipt_no" onblur="myFunction()" />
</form>
此文本框中的回显值---
<input type="text" value="<?=$scheme_name;?>" name="scheme" class="field size2" />
答案 0 :(得分:0)
正确的两种方法,仅PHP和AJAX javascript一些已经提到过。
仅限PHP:
<? $db=new PDO();
if($_POST&&isset($_POST['submit'])){
$result=$db->prepare('SELECT receipt_no,scheme_name FROM scheme_master WHERE receipt_no=:receipt_no');//not sure why you're entering an array?
$result->bindParam(':receipt_no',$_POST['scheme'],PDO::PARAMETER);
$result->execute();
while($row=$result->fetch(PDO::FETCH_ASSOC)){
echo$row['scheme_name'];
}
}?>
<!--Form next-->
<form name='findReceipt' action='' method="POST">
<input name='scheme' type='text' value='<?echo$scheme_name;?>'/>
<input name='submit' type='submit' value='Get'/>
</form>
您不需要此方法的属性onblur
属性。这是一个“自我”&#39;操作页面方法。
下一个方法是javascript方法,可以使用onblur
属性:
myFunction(){
var xmlhttp=XMLHttpRequest();
xmlhttp.open('POST','getResult.php',false);
xmlhttp.send("receipt_no="+this.value);//if this doesn't work, use the following line
//document.getElementByName('scheme').value
document.getElementById('resultHere').innerHTML=xmlhttp.responseText;
}
以上是一个非常基本的功能,它在IE5-6中不起作用,可能需要一些标题数据等等。对于那些喜欢愚蠢的jQuery库的人来说
$('input[name="scheme"]').blur(function(){
var self=this;
$.ajax({
type:'POST',
data:{receipt_no:$(self).value()},
beforeSend:function(xhr){
if($(self).value().length<5)xhr.abort();
},
success:function(result){
$('#result').html(result);
}
});
}
有些人可能会争论使用GET
方法来反对POST
,但我更喜欢POST。