如何在HTML_QuickForm for PHP中更改选择选项时在文本框中获取记录
当用户选择客户名称时,我希望在运行时从数据库中填写该客户的地址和城市。为此,我在更改时调用javascript函数,从中调用php函数addfun,并尝试传递from和keyvalue进行查询。我写了下面的代码,但这不起作用如何在HTML_QuickForm for PHP中更改选择选项时在文本框中获取记录,php,Php,当用户选择客户名称时,我希望在运行时从数据库中填写该客户的地址和城市。为此,我在更改时调用javascript函数,从中调用php函数addfun,并尝试传递from和keyvalue进行查询。我写了下面的代码,但这不起作用 <script language='javascript' type='text/javascript'> function ILovePHP(frm, a) { var formName = frm.name; alert(formName
<script language='javascript' type='text/javascript'>
function ILovePHP(frm, a) {
var formName = frm.name;
alert(formName);
b=<?php addfun(formName,a);?>;
alert(b);
}
</script>
<?php
$attrs = array("onChange" => "ILovePHP(this.form, this.value);");
require_once "HTML/QuickForm.php";
require_once "HTML/QuickForm/Renderer.php";
$form = new HTML_QuickForm('customer_master', 'post');
$form->addElement('select','custName','Select Customer Name',$cnameAry,$attrs);
$form->addElement('text', 'custAdd', 'Customer Address');
$form->addElement('text','custCity', 'City');
$form->addElement('text','custState', 'State');
$form->display();
function addfun($frm, $p)
{
$query="Select Address, City from entityMaster where eid=$p ";
$link = mysql_connect('localhost', 'root', '');
if (!$link) {
die('Could not connect: ' . mysql_error());
}
mysql_select_db('GenInsurance');
$result=mysql_query($query);
$row=mysql_fetch_array($result);
$frm->setDefaults(array( 'custAdd' => $row['Address']));
$frm->setDefaults(array( 'custCity' => $row['Address']));
print $frm;
return $frm;
}
?>
使用jquery和ajax从php文件中获取地址和城市: 创建一个名为ajax.php的文件:
if(isset($_GET['name']))
{
$p = $_GET['name'];
$query="SELECT Address, City FROM entityMaster WHERE eid=$p ";
$link = mysql_connect('localhost', 'root', '');
if (!$link) {
die('Could not connect: ' . mysql_error());
}
mysql_select_db('GenInsurance');
$result=mysql_query($query);
$row=mysql_fetch_array($result);
$output = array('custAdd' => $row['Address'], 'custCity' => $row['Address']);
echo json_encode($output);
}
一旦更改,请获取城市和地址:
<script src="http://code.jquery.com/jquery-1.7.2.min.js"></script>
$('#custName').change(function(){
$.getJSON("ajax.php", { name: $(this).val() } , function(data){
$.each(data, function(key, value) {
if(key == "custCity"){
$('#custCity').val(value);
}
if(key == "custAdd"){
$('#custAdd').val(value);
}
});
});
});
请阅读有关和的更多信息。这行不通!PHP代码从服务器解释,JS从客户端解释。如果要从PHP中调用PHP函数,则需要对Ajax进行HTTP请求搜索