[英]onclick() event is not working in javascript and span tag
[英]Basic Javascript: onclick event not working
鉴于此简单的javascript函数:
function update_cart() {
alert("--update--");
document.form1.command.value="update";
document.form1.submit();
}
和这个按钮在我的表单的底部:
<input type="submit" value="Update" onclick="update_cart()" />
表格中的数据已“提交”到新的URL。 但从不调用update_cart函数。 我知道,因为我从未收到警报框,并且URL读取...?c = Albania&m = ....
另外,表单元素
<input type="hidden" name="command"/>
也不会发布到URL。 URL读取?command =&c = Albania ...
我尝试了以下操作:将onclick更改为onsubmit,检查$ _REQUEST变量,从已知工作页面剪切并粘贴代码。
我的智慧到此为止,我们将不胜感激!
哦,是的:firefox 6,Opera 11.5和IE7中的行为相同。 我正在运行WinXP SP3。
谢谢你,萨杜!
如果您希望脚本在提交表单时运行,请使用:
<input type="submit" value="Update" onsubmit="update_cart()" />
onsubmit
事件通常用于运行某些验证脚本。 如果验证返回true
,则将提交表单。 如果返回false
,则不提交表单。 在您的情况下,脚本被编码为提交表单,因此不需要返回布尔值。
否则,如果确实不提交表单,则不会为您的按钮submit
类型。 您可以在onclick
简单地使用button
标签,它应该可以工作:
<button onclick="update_cart()">Update</button>
一旦尝试
<input type="button" value="Update" onclick="update_cart()" />
代替
<input type="submit" value="Update" onclick="update_cart()" />
如果您要使用“提交”类型,请选择“刘艾伦”答案
如果您想在提交时更改某项内容,请enter code here
,您需要在提交表单之前进行这些更改。 因此,您需要将这些外观添加到表单的“ onsubmit”事件中,而不是“提交”按钮的“ onclick”事件中。
像这样:
<form name="toSubmit" onsubmit="update_cart();"><input type="submit" name="btn" value="hello"/></form>
首先,无需更改您的html
; 看我的演示 。
每次单击提交按钮时,首先将启动单击处理程序(如果存在),然后将启动提交处理程序(如果存在)(应在form
标记中),然后将执行表单的action
。 仅当处理程序返回false
,此过程才会停止。
但是,为什么不调用您的JavaScript函数update_cart
?
我认为找不到它,但我不为什么。 您可以仅将功能绑定到window dom元素上进行测试(例如在我的演示中 )吗?
附:您无需在点击处理程序中提交表单(如果您未返回false)。 您可以删除以下行: document.form1.submit();
。
附:最好不要在“提交”按钮上使用单击处理程序,而应在form标记中使用一个提交处理程序(请参阅我的demo2 )。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.