Javascript 即使在onclick=“return true;”之后,IE11也不会跟随链接

Javascript 即使在onclick=“return true;”之后,IE11也不会跟随链接,javascript,html,twitter-bootstrap,Javascript,Html,Twitter Bootstrap,即使在onclick返回true之后,我也有一个链接不跟随的问题。它在chrome和firefox中运行良好。我注意到这个特殊的行为只有锚在标记中。我使用引导来响应,不确定这是否会影响 样本: <form> <a id="SignonButton" class="SignonButton" HREF="https://www.google.com" onClick="return true;"> <button type="button" class="bt

即使在onclick返回true之后,我也有一个链接不跟随的问题。它在chrome和firefox中运行良好。我注意到这个特殊的行为只有锚在标记中。我使用引导来响应,不确定这是否会影响

样本:

<form>
<a id="SignonButton" class="SignonButton" HREF="https://www.google.com" onClick="return true;">
    <button type="button" class="btn btn-primary" id="button1" name="button1">Inside form doesnt work</button>
        </a>
</form>

<a id="SignonButton" class="SignonButton" HREF="https://www.google.com" onClick="return true;">
    <button type="button" class="btn btn-primary" id="button1" name="button1">Outside form works</button>
        </a>
@TJ是的,确实有效。 实际上,我正在修改一个现有的表单,使其具有响应性。表单有两个动作和两个输入元素 1.HREF=Javascript:transferRequest 2.onClick=validateRequest

表单有两个输入元素input1:email和input2:password

从现有代码中我可以理解的是ValidateRequest验证电子邮件patternx@y.z密码和alphanum模式,并返回true

如果两种模式都匹配

validate request检查两个文本框,以确认输入文本是否与模式匹配不验证仅检查模式匹配与否,传输

请求实际上将这两个文本原样传输到服务器

正如建议的那样,对按钮的使用是正确的,或者我需要将验证方法添加到按钮 我不允许完全修改网站,只是将其转换为响应。

链接中不能有按钮。a的内容模型是

透明,但不能有后代

因为它是无效的,浏览器可以自由地执行它认为应该执行的任何操作,包括将按钮重新定位到链接之外

另外,返回true在onClick中没有任何效果。返回false,但不返回true

因此,您需要做的是修改您的内容以使其有效。然后它可以跨浏览器正常工作。由于您使用的是引导,因此有两种选择:

完全去掉按钮:

<a id="SignonButton" class="btn btn-primary SignonButton" href="https://www.google.com">Click Me</a>
<button type="button" id="SignonButton" class="SignonButton btn btn-primary" onclick="location = 'http://www.google.com'>Click Me</button>
这看起来像一个按钮,因为引导风格

完全删除链接:

<a id="SignonButton" class="btn btn-primary SignonButton" href="https://www.google.com">Click Me</a>
<button type="button" id="SignonButton" class="SignonButton btn btn-primary" onclick="location = 'http://www.google.com'>Click Me</button>

强烈建议使用1,因为它毕竟是一个链接。

将按钮从标签中取出。如前所述,它是无效的。使用类似以下内容:

<button type="button" class="btn btn-primary" id="button1" name="button1" onclick="window.location='http://www.google.com';">Inside form should work. ;)</button>

可能是由于锚内的交互元素。是否在按钮处理程序中拦截单击?