我有一个包含链接的表格。如果用户单击<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中单击任一个均可。
答案 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>