我正在拦截使用jQuery提交表单并在继续提交之前验证一些内容。问题是页面上有多个提交按钮有不同的操作,当我在验证后尝试调用value % 0.5
时,提交按钮的form.submit()
标记丢失/未在request-params中发送。
我的HTML看起来像这样:
name
并且在coffeescript代码中我正在截取表单提交:
<input type="submit" name="publish" value="Publish">
<input type="submit" name="draft" value="Save as draft">
我想以某种方式存储点击了哪个按钮并将其传递给$('#foo-form').submit (e) ->
e.preventDefault()
form = this
# DO WORK...
# A callback eventually calls form.submit()
。
答案 0 :(得分:0)
为每个提交按钮添加一个click
事件处理程序,用于添加(或更新)带有值的隐藏输入。
function store_submit_value (ev) {
var $frm = jQuery(this.form);
var $input = $frm.find("input.submit_value");
if (!$input.length) {
$input = jQuery("<input />")
.attr("type", "hidden")
.addClass("submit_value")
.appendTo($frm);
}
$input.attr("name", this.name).val(this.value);
}
jQuery("#foo-form").on("click", 'input[type="submit"]', store_submit_value);