[英]submit form on click event using jquery
那么有人可以告诉为什么这些选项都不会实际提交表格吗? 我正在尝试做一些更复杂的事情,但我已将其归结为试图找出为什么我似乎无法使用点击事件和 submit() 提交此表单
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script>
<script type="text/javascript">
$(function() {
$('#submitButton').click(function(e) {
e.preventDefault();
$("#testForm").submit();
});
$('#submitLink').click(function(e) {
e.preventDefault();
$("#testForm").submit();
});
});
</script>
</head>
<body>
<form action="javascript:alert('submitted');" method="post" id="testForm">
<label>Name</label>
<input type="text" name="name" value="" />
<input type="submit" name="submit" value="Submit" id="submitButton" />
<p><a href="#" id="submitLink">Submit Form</a></p>
</form>
</body>
</html>
谢谢!
这是因为提交按钮的名称被命名为“提交”,将其更改为“提交”以外的任何内容,尝试“提交”并重试。 然后它应该工作。
为什么不简单地使用提交按钮来运行您想要的代码。 如果您的 function 返回 false,它将取消提交。
$("#testForm").submit(function() {
/* Do Something */
return false;
});
如果您在表单标签中有一个表单操作和一个输入type="submit"
,它将以老式方式提交并基本上刷新页面。 在执行 AJAX 类型的事务时,这不是您想要的效果。
删除操作。 或者完全删除表单,但在某些情况下,序列化以减少工作量确实会派上用场。 如果表单标签仍然存在,请将按钮移到表单标签之外,或者将其与 onclick 或单击处理程序链接,而不是输入按钮。 Jquery UI 按钮在这种情况下效果很好,因为您可以使用标签元素模拟输入按钮。
使用 jQuery 按钮点击
$('#button_id').on('click',function(){
$('#form_id').submit();
});
您需要将表单发布到 URL 还是只需要检测提交事件? 因为您可以通过添加onsubmit="javascript:alert('I do also submit');"
来检测提交事件
<form action="javascript:alert('submitted');" method="post" id="testForm" onsubmit="javascript:alert('I do also submit');">...</form>
不确定这是否是您正在寻找的。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.