Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/86.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
使用AJAX使用php脚本中的JSON数据填充表单_Php_Jquery_Ajax_Forms_Populate - Fatal编程技术网

使用AJAX使用php脚本中的JSON数据填充表单

使用AJAX使用php脚本中的JSON数据填充表单,php,jquery,ajax,forms,populate,Php,Jquery,Ajax,Forms,Populate,我正在用来自使用AJAX的php脚本的JSON数据填充表单。当我点击一个按钮时,输入字段被数据填充,但并非所有字段都被填充。这就像JQuery无法访问整个DOM,尽管我使用的是“window.onload=function()”。我还尝试了“jQuery(document).ready(function()”。我还将Javascript放在html页面标记的底部 这是我的职责: window.onload = function(){ $('#button_dossier').cl

我正在用来自使用AJAX的php脚本的JSON数据填充表单。当我点击一个按钮时,输入字段被数据填充,但并非所有字段都被填充。这就像JQuery无法访问整个DOM,尽管我使用的是“window.onload=function()”。我还尝试了“jQuery(document).ready(function()”。我还将Javascript放在html页面标记的底部

这是我的职责:

window.onload = function(){
        $('#button_dossier').click(function(){
            var clickBtnValue = $('#zipsearch').val();
            var ajaxurl = 'fill_form.php',
            data =  {'action': clickBtnValue};
            $.post(ajaxurl, data, function (response) {
                document.getElementById("datum_p").value =response.key;
                document.getElementById("install").value =response.key;
                document.getElementById("adres_t").value =response.key;
                document.getElementById("vp").value =response.key;
                document.getElementById("naam_vp").value =response.key;
                document.getElementById("adres_vp").value =response.key;
                document.getElementById("tel_vp").value =response.key;
                document.getElementById("naam_oz").value =response.key;
                document.getElementById("svc").value =response.key;
                document.getElementById("tel_oz").value =response.key;
                document.getElementById("c1").value =response.key;
                document.getElementById("c2").value =response.key;
                document.getElementById("c3").value =response.key;
                document.getElementById("c").value = response.key;
                document.getElementById("opn").value =response.key;
                document.getElementById("moti").value =response.key;
                document.getElementById("hd").value =response.key;
                document.getElementById("set").value =response.key;
                document.getElementById("ip").value =response.key;
            },'json');
        });
    };
这里出了什么问题?还是函数被限制在行中

提前谢谢

---编辑---

我已将“response[];”更改为“response.key;”。这是我的错误。

这些行如

 document.getElementById("datum_p").value = response[];
不会有任何效果,因为
response[]
是一个L值,是
array.push(Value)
的缩写,您可能的意思是

 document.getElementById("datum_p").value = response["datum_p"];
可以将其缩短为(使用jQuery时):

此外:

 $.post(ajaxurl, data, function (response) {
            $("#datum_pl").remove();
            setField("datum_p",response);
            ...
 });

要使其完全通用,您可以迭代响应对象的属性,但这必须与100%的表单字段相对应。

也许您应该尝试或更高级一点。它们中的每一个都是一个jQuery插件,处理从html表单到html表单的javascript/json数据的序列化/反序列化。

什么
响应
您得到了什么?应该使用response['key'或response.key.
document.getElementById(“datum_p”)。value=response[]
–这完全没有意义。我更改了脚本。我忘了向脚本中添加键。但它仍然不起作用。只有9个表单元素被填充。其他元素是空的。出于测试目的,我只使用了一个键(名为key)因为我还得写我的php脚本。你真的在所有字段中都放了相同的对象属性吗?问题解决了。我删除了所有带有“$(#id).val(response.key);”的“document.getElementById(id).value=response.key”现在所有的文本字段都被填满了…getElementById函数似乎受到了限制。谢谢你的帮助!我已经更改了脚本。我忘了向其中添加键。但它仍然不起作用。只有9个表单元素被填满。其他元素为空。出于测试目的,我只使用了一个键(命名键)因为我仍然需要编写我的php脚本。问题解决了。我删除了所有带有“$”(#id).val(response.key);”的“document.getElementById(id).value=response.key”,现在所有的文本字段都被填满了……看来getElementById函数是有限的,或者其他什么的。谢谢你的帮助!
 $.post(ajaxurl, data, function (response) {
            $("#datum_pl").remove();
            setField("datum_p",response);
            ...
 });