Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 基于所选项目填充表单_Php_Ajax - Fatal编程技术网

Php 基于所选项目填充表单

Php 基于所选项目填充表单,php,ajax,Php,Ajax,我有一个页面,其中包含一个从mysql成功填充的选择列表和一个文本框。文本框必须根据列表中选择的项目填充mysql中的值。但是对php的ajax调用不起作用,我也不知道问题出在哪里。我只是在学习ajax和php,所以我是个新手。。请帮忙。我被这个问题困扰了很长时间 $document.readyfunction{ $'.selectpicker'.onchange,函数{ var selected_data=$this.findoption:selected.val; 警报所选数据; $.aj

我有一个页面,其中包含一个从mysql成功填充的选择列表和一个文本框。文本框必须根据列表中选择的项目填充mysql中的值。但是对php的ajax调用不起作用,我也不知道问题出在哪里。我只是在学习ajax和php,所以我是个新手。。请帮忙。我被这个问题困扰了很长时间

$document.readyfunction{ $'.selectpicker'.onchange,函数{ var selected_data=$this.findoption:selected.val; 警报所选数据; $.ajax{ 类型:POST,, 数据:{所选数据:所选数据}, url:getoldcharity.php, 数据类型:json, 成功:功能{ $'charity_new'.valdata.charity_new; } }; }; }; 选择一个筹款人 我想应该是

$('#charity_new').val(res.charity_new);
而不是

$('#charity_new').val(data.charity_new);

我从快速浏览中发现了一些问题,所以在下面将它们分开

PHP 在AJAX请求中,您使用的是数据:{selected_data:selected_data},这意味着PHP代码需要一个名为selected_data的发布键,但您正在查找.selectpicker。你似乎把几件事搞混了,所以不要:

$_POST['.selectpicker']
$('#charity_new').val(data.charity_new);
应该是:

$_POST['selected_data']
$('#charity_new').val(res.charity_new);
select f_charity, charity_new from fundraiser limit 1
JavaScript 正如他在回答中指出的,你还需要改变你的成功函数。传递到此函数的参数是res not data,因此不是:

$_POST['.selectpicker']
$('#charity_new').val(data.charity_new);
应该是:

$_POST['selected_data']
$('#charity_new').val(res.charity_new);
select f_charity, charity_new from fundraiser limit 1
MySQL 它还显示为您的查询本身无效-您似乎在列选择中缺少逗号

select f_charity charity_new from fundraiser limit 1
应该是:

$_POST['selected_data']
$('#charity_new').val(res.charity_new);
select f_charity, charity_new from fundraiser limit 1
或者,鉴于你在结果中没有使用f_慈善专栏:

select charity_new from fundraiser limit 1
您也没有使用正在发布的值,这意味着在下拉列表中选择的任何选项都不会对查询本身产生影响-它将始终返回数据库中的第一条记录

另外 另一件需要注意的事情是,您正在更改函数上使用类选择器。这意味着,如果HTML中有多个具有相同类名的下拉列表,它们都将调用相同的AJAX函数并更新文本框。我不知道这是否是你的目标,但从你的代码张贴,你只有一个下拉列表的形式。如果您只希望该下拉列表调用AJAX函数,则应使用ID选择器:

$('#fundraiser').on("change", function() {
    // ...
}

打开开发人员控制台并检查那里的错误。$\u POST['.selectpicker']无效。改为使用$u POST['fundraiser']。这是您为表单对象设置的名称非常感谢非常感谢。您的指示非常有效。@TitusAntony没问题,如果答案有帮助,并且您的问题得到解决,您可以单击勾号图标将答案标记为已接受: