作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
当我在表单字段中输入时,底部的输入也应该自动写入与上述字段相同的地址。
当我在 之外输入时,我正在使用的 JavaScript 可以正常工作,如下所示,但我需要在提交表单中使用它。我在控制台中得到的错误是 "TypeError: autoAddress is not a function" 下面的表格有效
<form id="addNews" name="address" action="addevent.php" method="post" class="addStuff" enctype="multipart/form-data">
<h3>Address1:</h3><input type="text" class="title" name="address1" onkeyup="autoAddress();">
<h3>Address2:</h3><input type="text" class="title" name="address2" onkeyup="autoAddress();">
<h3>City:</h3><input type="text" class="title" name="city" onkeyup="autoAddress();">
<h3>County:</h3><input type="text" class="title" name="county" onkeyup="autoAddress();">
<h3>PostCode:</h3><input type="text" class="title" name="pcode" onkeyup="autoAddress();">
</form>
<input type="text" name="fulladdress" class="title" id="autoAddress" />
我需要的东西不起作用,在下面。我确定我只是缺少一些简单的东西。请注意底部的输入在表单内。
<form id="addNews" name="address" action="addevent.php" method="post" class="addStuff" enctype="multipart/form-data">
<h3>Address1:</h3><input type="text" class="title" name="address1" onkeyup="autoAddress();">
<h3>Address2:</h3><input type="text" class="title" name="address2" onkeyup="autoAddress();">
<h3>City:</h3><input type="text" class="title" name="city" onkeyup="autoAddress();">
<h3>County:</h3><input type="text" class="title" name="county" onkeyup="autoAddress();">
<h3>PostCode:</h3><input type="text" class="title" name="pcode" onkeyup="autoAddress();">
<input type="text" name="fulladdress" class="title" id="autoAddress" />
</form>
JavaScript如下
function autoAddress(){
var address1 = document.address.address1.value;
var address2 = document.address.address2.value;
var city = document.address.city.value;
var county = document.address.county.value;
var postcode = document.address.pcode.value;
var parts = [
address1,
address2,
city,
county,
postcode
];
var address = new Array();
for (var i=0; i<=parts.length; i++){
if (parts[i]){
address.push(parts[i]) ;
}
}
var joined = address.join(', ');
document.getElementById('autoAddress').value = joined;
}
最佳答案
<input type="text" name="fulladdress" class="title" id="autoAddress" />
^^^^^^^^^^^^^^^^
function autoAddress(){
^^^^^^^^^^^
这实际上可能是这里的问题——一些浏览器倾向于将 HTML 元素的 ID 导入全局 JavaScript 命名空间(Internet Explorer 是这里的主要违规者,但其他浏览器出于兼容性原因已经适应了相同的行为)。这可能导致在被覆盖之前加载的 JavaScript 中的实际 JS 对象/变量。
因此尝试将您的 HTML 元素和 JavaScript 函数命名为不同的名称。
关于javascript - 类型错误 : ID is not a function,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16824260/
我是一名优秀的程序员,十分优秀!