我使用AJAX从php脚本填充表单和JSON数据。单击按钮时,输入字段将填充数据但不是全部。虽然我使用" window.onload = function()",但JQuery无法访问整个DOM。我也尝试过使用" jQuery(document).ready(function()"。我还在html页面的标签底部放置了我的Javascript ..
这是我的功能:
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');
});
};
这里出了什么问题?或者功能是否限制在行中?。
提前致谢!
--- --- EDIT
我已经改变了#34;响应[];" to" response.key;"。这是我的错误..
答案 0 :(得分:0)
像
这样的行 document.getElementById("datum_p").value = response[];
将无效,因为response[]
是L值和array.push(value)
的简写,你可能意味着什么
document.getElementById("datum_p").value = response["datum_p"];
可以缩短为(当你使用jQuery时):
function setField(key, response) {
$('#' + key).val(response[key]);
}
此外:
$.post(ajaxurl, data, function (response) {
$("#datum_pl").remove();
setField("datum_p",response);
...
});
要使其完全通用,您可以迭代响应对象的属性,但这必须对应于表单字段100%。
答案 1 :(得分:0)
也许您应该尝试https://github.com/dtuite/jquery.populate或更高级的http://uic.megaflop.net/download/。它们中的每一个都是一个jQuery插件,用于处理来自/到html表单的javascript / json数据的序列化/反序列化。