我有一个表单,其中有两个按钮。一个用于保存记录,另一个用于取消保存过程。我正在使用
“
他们怎么能假设表单没有使用按钮提交呢?我认为这没有意义并且是错误的假设。
根据 W3C 规则,用于提交表单的按钮被视为一个成功的控件。
由于 jQuery 的开发人员已经故意这样做,我可以假设是否有另一种方法可以在序列化中不排除已激活的按钮?
rails.js
(一种常见的 AJAX/jQuery 插件,对于那些不知道的人来说)javascript 文件,它与 jQuery 一起使用无侵入式 javascript/ajax 调用。当我通过ajax发送表单数据时,我希望所点击的按钮的名称和值随其他数据一起提交,以便我可以根据所点击的按钮做出决定。
rails.js
文件中的方法使用 .serializeArray()
将表单数据发送到服务器。问题是这不包括我点击的按钮的名称/值对。jQuery 的网站指出他们故意这样做(尽管我认为他们应该):“
.serializeArray()
方法使用标准的 W3C 规则 成功的控件 来确定哪些元素应该包括;特别是元素不能被禁用,必须包含一个名称属性。由于表单没有使用按钮提交,因此不会序列化任何提交按钮值。”他们怎么能假设表单没有使用按钮提交呢?我认为这没有意义并且是错误的假设。
根据 W3C 规则,用于提交表单的按钮被视为一个成功的控件。
由于 jQuery 的开发人员已经故意这样做,我可以假设是否有另一种方法可以在序列化中不排除已激活的按钮?
编辑:这里是我的表单可能看起来的快速示例...
<!DOCTYPE html5>
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.3/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function() {
$('#form').submit(function(e) {
// put your breakpoint here to look at e
var x = 0;
});
});
</script>
</head>
<body>
<form id="form">
<input name="name" type="text"><br/>
<input name="commit" type="submit" value="Save"/>
<input name="commit" type="submit" value="Cancel"/>
</form>
</body>
<button>
标签也存在同样的问题。 - DickieBoy