javascript - 从链接提交表单与从按钮提交表单(Chrome)
问题描述
我有一个包含链接的表单。如果用户点击<a>
标签,它应该提交<form>
使用 jQuery。但是,在 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 中单击任一工作。
解决方案
试试这个:
<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>
推荐阅读
- django - 在 TestClass 中的此服务器上找不到 Django 请求的 URL
- mysql - 如何添加第二个 MySQL 增量
- javascript - 我可以在 Javascript Ajax 表中使用来自 Php PDO 查询的 MySQL 结果吗?
- python - Lex of ply 不计入
- c - 使用 MPLAB X IDE C18 编译器编译我的 Microchip PIC18f4550 USB 项目时遇到问题。编译器一直突出显示“语法错误”并且不会编译
- python-3.x - NotADirectoryError: [WinError 267] 目录名无效:
- docker - Gitlab-CI - Runner 无法拉取 docker 镜像 - 需要授权令牌
- php - 在 PHP 中获取 Google Maps api
- windows - 括号,大括号会在 Windows 10 中自动删除之后的行
- javascript - Webservice 没有返回正确的日期格式