问题的javascript:返回false不工作
嘿那里是我的程序的链接,如图和的onclick它调用如图所示的功能clearform:问题的javascript:返回false不工作
HTML代码:
<a class="button" href="Cancel" style="left: 55%;" onclick="clearForm()">Cancel</a>
的JavaScript代码:
function clearForm(){
document.getElementById("subjectName").value = "";
return false;
}
返回false在此代码中不起作用。实际上函数的第一行成功执行,但返回false失败。我的意思是页面被重定向到url“取消”。
更改代码
<a class="button" href="Cancel" onclick="return clearForm()">Cancel</a>
<a class="button" href="Cancel" style="left: 55%;" onclick="clearForm();return false;">Cancel</a>
应该工作
你的问题是你需要返回布尔。
但,抛弃所有...
-
悄悄地附上您的活动......
-
使用
preventDefault()
。这是现代化的方式。function clearForm(event) { event.preventDefault(); }
+1用于暗示停止使用内联事件处理程序。 – kapa 2011-04-27 07:28:59
kk谢谢亚历克斯我会尝试。 – codeomnitrix 2011-04-27 07:34:09
@bazmegakapa:有时候他们需要 – codeomnitrix 2011-04-27 07:34:37
请注意,如果在clearForm(错误或错误),然后在“返回false”将不会停止锚措施,您的浏览器将尝试链接到HREF“取消” 。下面是逻辑:
- 用户点击锚
- 的onClick触发clearForm()
- 有一个在clearForm误差(),因此使用Javascript崩溃和停止所有代码执行。
- 返回false从未被触发,因为Javascript已停止。
如果你是依靠第三方的JavaScript API(我用的是回收银行通过提供产卵一个弹出代码),以及第三方API使得,打破了JavaScript的更新,那么你就会有问题。
以下将在正常条件和错误条件下停止链接。
<a class="button" href="javascript:;" style="left: 55%;" onclick="clearForm();return false;">Cancel</a>
请记住,某些浏览器扩展可能会干扰链接的正常运行。例如,我遇到了某人同时启用了AdBlock Plus和Ghostery的情况。用'onclick ='返回一个简单的'a'标签返回SomeFunction();“'属性(该函数返回false)导致浏览器将点击视为页面转换并转到空白页面,并且加载指示符保存纺纱。禁用这些浏览器扩展清除了问题。
包括这个作为答案,因为这是我从Google登陆的第一页。
kk谢谢你的工作。 – codeomnitrix 2011-04-27 07:32:49
很高兴帮助你。 – Vijay 2011-04-27 10:29:18
如果clearForm()具有javascript错误,则这不会停止默认操作。请参阅我的回答以获得防弹方法。 – mrbinky3000 2012-02-07 15:35:15