我使用脚本自动填充表单。当用户从下拉列表中选择一个选项时,它会向外部文件(使用window
从数据库返回数据)发出AJAX请求,并且表单会自动填充。
以下是代码:
json_encode
如您所见,当ID为function myrequest(e) {
var name = $('#username').val();
$.ajax({
method: "POST",
url: "autofill.php",
dataType: 'json',
cache: false,
data: {
username: name
},
success: function(responseObject) {
$('#posts').val(responseObject.posts);
$('#joindate').val(responseObject.joindate);
}
});
}
的下拉列表发生更改时,会调用AJAX,ID为username
和posts
的表单字段会自动填充。
但是,我想对更多表单使用相同的函数,这些表单将自动填充具有不同ID的字段(当然,JSON将返回其他数据)。有没有办法修改这个函数,所以我不需要为每个要解析的JSON值写一个单独的行(如joindate
)。
换句话说,该函数应该自动解析返回的JSON数据,如果有一个具有特定ID的字段,则应该自动填充。因此,如果JSON返回$('#posts').val(responseObject.posts);
之类的数据,则函数应相应地查找并预填充ID {"abc123":"666","some_other_field":"2017-03-06"}
和abc123
的字段。
答案 0 :(得分:1)
我想这样的事情可行:
function myrequest(e) {
var name = $('#username').val();
$.ajax({
method: "POST",
url: "autofill.php",
dataType: 'json',
cache: false,
data: {
username: name
},
success: function(responseObject) {
for (var prop in responseObject) {
if (responseObject.hasOwnProperty(prop)) {
$('#' + prop).val(responseObject[prop]);
}
}
}
});
}