gpt4 book ai didi

javascript - 类型错误 : ID is not a function

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:25:40 26 4
gpt4 key购买 nike

当我在表单字段中输入时,底部的输入也应该自动写入与上述字段相同的地址。

当我在 之外输入时,我正在使用的 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/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com