如何使用 Javascript 填充输入文本字段

新手上路,请多包涵

我尝试从 JSON 中收集数据以在匹配结果后填写相关的输入文本字段,但它不起作用。

如何从 JSON 填充输入文本字段?

JS代码

 $(document).ready(function(){
var filter = document.getElementById('zipcode');
var JSONtbl = [
		{"zipcode":01702,"address":"334 CONCORD ST","County":"MIDDLESEX"},
		{"zipcode":02482,"address":"27 Atwood St","County":"NORFOLK"},
		{"zipcode":02459,"address":"189 Cypress St","County":"MIDDLESEX"}
	     ];
filter.onkeyup = function() {
    var zipcodeToSearch = filter.value;
    var n = zipcodeToSearch.length;
    if (n < 5) {
    	document.getElementById("address").innerHTML = "";
    	document.getElementById("County").innerHTML = "";
    } else {
        for (var i = 0; i < JSONtbl.length; i++) {
        	if (JSONtbl[i].zipcode == zipcodeToSearch) {
        		document.getElementById("address").innerHTML = JSONtbl[i].address;
        		document.getElementById("County").innerHTML = JSONtbl[i].County;
             }
        }
        if (document.getElementById("address").innerHTML == "") {
            alert("ZipCode Out Of Area")
        }
    }
};
});
 div {
    padding: 2px 5px;
}
 <form method="post">
<div><input type="text" id="zipcode"/></div>
<div><input type="text" id="address" disabled="disabled"></div>
<div><input type="text" id="County" disabled="disabled"></div>
</form>

原文由 hbbz040 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 372
2 个回答

您的代码中有两个错误。

第一: 输入没有 innerHTML 但值。 其次, 您将整数分配给从零开始的邮政编码。相反,您需要一个字符串类型,因为输入返回的值将是一个字符串。

使用此代码

 var filter = document.getElementById('zipcode');
var JSONtbl = [
		{"zipcode":"01702","address":"334 CONCORD ST","County":"MIDDLESEX"},
		{"zipcode":"02482","address":"27 Atwood St","County":"NORFOLK"},
		{"zipcode":"02459","address":"189 Cypress St","County":"MIDDLESEX"}
	     ];
filter.onkeyup = function() {
    var zipcodeToSearch = filter.value;
    var n = zipcodeToSearch.length;
    if (n < 5) {
    	document.getElementById("address").value = "";
    	document.getElementById("County").value = "";
    } else {
        for (var i = 0; i < JSONtbl.length; i++) {

        	if (JSONtbl[i].zipcode == zipcodeToSearch) {

        		document.getElementById("address").value = JSONtbl[i].address;
        		document.getElementById("County").value = JSONtbl[i].County;
             }
        }
        if (document.getElementById("address").value == "") {
            alert("ZipCode Out Of Area")
        }
    }
};
 div {
    padding: 2px 5px;
}
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<form method="post">
<div><input type="text" id="zipcode"/></div>
<div><input type="text" id="address" disabled="disabled"></div>
<div><input type="text" id="County" disabled="disabled"></div>
</form>

原文由 Shubham Khatri 发布,翻译遵循 CC BY-SA 3.0 许可协议

尝试这个!

 $(document).ready(function(){
        var filter = document.getElementById('zipcode');
        var JSONtbl = [
                {"zipcode":"01702","address":"334 CONCORD ST","County":"MIDDLESEX"},
                {"zipcode":"02482","address":"27 Atwood St","County":"NORFOLK"},
                {"zipcode":"02459","address":"189 Cypress St","County":"MIDDLESEX"}
                 ];
        filter.onkeyup = function() {
            var zipcodeToSearch = filter.value;
            var n = zipcodeToSearch.length;
            if (n < 5) {
                document.getElementById("address").value = "";
                document.getElementById("County").value = "";
            } else {

                for (var i = 0; i < JSONtbl.length; i++) {

                    if (JSONtbl[i].zipcode == zipcodeToSearch) {

                        document.getElementById("address").value = JSONtbl[i].address;
                        document.getElementById("County").value = JSONtbl[i].County;
                     }
                }
                if (document.getElementById("address").value == "") {
                    alert("ZipCode Out Of Area")
                }
            }
        };
    });

原文由 Rafael Mota 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题