我有这段代码可以工作:

<script type="text/javascript" language="javascript">
function doStuff1(){
    var eml=document.getElementsByName('email')[0].value;
        msg=document.getElementsByName('message')[0];
    msg.value = eml + ' ' + msg.value;
    alert ('Message has been submitted');
    return true;  //return false to test just messagebox and updated message textarea
}
</script>

但是,当我使用getElementById而不是getElementsByName时,它将停止工作。也就是说,该方法将不会显示警报对话框。

当然,我在与id相同的标签上添加了name属性,例如id="email" name="email"
单击表单中的提交按钮时,将调用此方法。

可能是什么问题呢?

最佳答案

getElementById不返回元素的集合,而仅返回单个元素。 document.getElementById('email')[0].value是一个语义错误。

删除[0]

关于javascript - 将getElementsByName替换为getElementsById无法正常工作,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16159569/

10-13 02:29