2011-08-19 79 views
0

我已将“单击”事件附加到“按钮”元素(type = submit),以便单击后者元素将数据从一个字段(输入类型=文本)复制到另一个字段。但是,副本只是暂时的,并会恢复为空白或默认值。将事件处理程序附加到节点语法

影响火狐/歌剧/铬

+0

当你说副本只是临时的,你的意思是说,当你检查服务器端时,这些值是空白/临时的? – sdleihssirhc

+0

对不起,他们在视觉上是空白的,从表单提交(感谢指出@JosephSilber)。但是,在FORM处理程序上返回false并不奏效,并且我了解了有关预防默认值的知识! (e){ alert(“form handler”); e.preventDefault(); 返回false; }' 即使在按钮上键入'submit',这也可以工作。不过,我相信在IE中,我将不得不设置'returnValue'属性。 – Stephen

回答

2

当点击提交按钮,它也提交表单,这会导致页面刷新。

你必须return false从您的单击事件处理程序:

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

+1阅读心灵! –

+0

我认为它可能与type = submit有关,但整个“它被称为Button ALREADY,来吧!”让我对整个问题的冗余方面感到不耐烦。我没有使用jQuery,我添加了“返回false”无济于事。谷歌搜索导致很多'内联代码'的例子返回false,而不是我使用的addEventListener/attachEvent方法。我了解到这叫做Advanced Reg Model:我认为这只是正确的做事方式。我想通了,并张贴代码。 – Stephen

0

更改按钮输入为type =“按钮”,而不是类型=“提交”如果按钮并不需要提交什么到服务器(从你的问题来看,它没有)。

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

+0

他可能需要它,以便如果JavaScript被禁用,表单仍然提交。 –

+0

纯粹由他使用的问题和标签来判断,看起来好像他只是想按钮将文本从一个文本框复制到另一个文本框。 – jzm

+0

我只是想复制文本,但我也想使用提交类型为我自己的邪恶的原因,而使用按钮更大的格式灵活性和更容易在我的CSS样式。 – Stephen

相关问题