5

我有这个有效的代码:

<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而不是getElementsByNamethen 它停止工作。那就是该方法不会显示警报对话框。

当然,我id在同一个标​​签上添加了一个属性name,比如id="email" name="email"

当单击表单中的提交按钮时调用此方法。

可能是什么问题呢?

4

1 回答 1

4

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

删除[0]s。

于 2013-04-23T01:53:04.177 回答