Javascript 将事件处理程序附加到节点语法

Javascript 将事件处理程序附加到节点语法,javascript,events,button,onclick,Javascript,Events,Button,Onclick,我已将“单击”事件附加到“按钮”元素(type=submit),以便单击后一个元素将数据从一个字段(input type=text)复制到另一个字段。但是,副本只是临时的,会恢复为空白或默认值 影响Firefox/Opera/Chrome当单击提交按钮时,它也会提交表单,从而导致页面刷新 您必须从单击事件处理程序返回false: $('#theSubmitButton').click(function(){ // code to copy values goes here ret

我已将“单击”事件附加到“按钮”元素(type=submit),以便单击后一个元素将数据从一个字段(input type=text)复制到另一个字段。但是,副本只是临时的,会恢复为空白或默认值


影响Firefox/Opera/Chrome

当单击提交按钮时,它也会提交表单,从而导致页面刷新

您必须从单击事件处理程序
返回false

$('#theSubmitButton').click(function(){
    // code to copy values goes here
    return false;
});

如果按钮不需要向服务器提交任何内容(从您的问题来看,服务器不需要提交任何内容),则将按钮输入更改为type=“button”而不是type=“submit”)


type=“submit”将运行表单的操作/回发并导致刷新

当您说副本只是临时的时,您的意思是当您在服务器端检查时,这些值是空的/临时的吗?对不起,它们在视觉上是空的,这是由于表单提交(感谢您指出@JosephSilber)。然而,表单处理程序上的returnfalse不起作用,我学习了如何防止默认值<代码>函数submittercept(e){alert(“表单处理程序”);e.preventDefault();return false;}即使在按钮上键入class='submit',这也可以正常工作。但是,我相信,在IE中,我必须设置“returnValue”属性。他可能需要设置该属性,以便在禁用javascript的情况下,表单仍会提交。纯粹从他的问题和使用的标记判断,他似乎只想让按钮将文本从一个文本框复制到另一个文本框。我只想复制文本,但出于我自己的恶意,我也想使用submit类型,同时在css中使用button以获得更大的格式灵活性和更简单的样式。我认为它可能与type=submit有关,但整个“它已经被称为button了,拜托!”让我对整个问题的冗余方面感到不耐烦。我没有使用jQuery,我添加了“returnfalse”也没有用。谷歌搜索会导致大量返回false的“内联代码”示例,而不是我使用的addEventListener/attachEvent方法。我了解到这被称为高级注册模式:我认为这是做事情的正确方式。不过我想出来了,我正在发布代码。