链接提交表单与按钮提交表单(Chrome)

时间:2019-04-03 20:47:00

标签: javascript jquery html google-chrome firefox

我有一个包含链接的表格。如果用户单击<a>标记,则应该使用jQuery提交<form>。但是,在Chrome中,它会静默失败。在Firefox中工作正常。

我发现,如果将a更改为button元素,即使在Chrome中也可以正常工作。谁能解释一下?

function javaScriptSubmit() {
  alert('Simulate submit!');
  $('#RetrieveQuote').submit();
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<form id="RetrieveQuote" method="post" action="javascript:alert('action!')">
  <input id="myName" value="David"> <br/>
  <a href="javascript:void(0);" onclick="javaScriptSubmit()">Submit from link</a>
  <button onclick="javaScriptSubmit()">Submit from button</button>
</form>

如果您使用的是Chrome浏览器,然后单击链接,则永远不会调用操作警报。但是,如果单击该按钮,则会看到两条警报消息。在FireFox中单击任一个均可。

1 个答案:

答案 0 :(得分:0)

尝试一下:

 <html>
  <head>
    <title>test</title>
    <script
      src="https://code.jquery.com/jquery-3.3.1.js"
      integrity="sha256-2Kok7MbOyxpgUVvAk/HJ2jigOSYS2auK4Pfzbm7uH60="
      crossorigin="anonymous"
    ></script>
  </head>
  <body>
    <form id="RetrieveQuote" method="post" action="javascript:alert('action!')">
      <input id="myName" value="David" /> <br />
      <a href="#" id="submit-link">Submit from link</a>
      <button>Submit from button</button>
    </form>
    <script>
      $("#submit-link").click(function() {
        $("#RetrieveQuote").submit();
      });
    </script>
  </body>
</html>