使用jQuery的'submit' - 是否有办法将其他参数传递给表单?我不打算用Ajax做这个 - 这是正常的,刷新典型的表单提交.
$('#submit').click(function () { $('#event').submit(function () { data: { form['attendees'] = $('#attendance').sortable('toArray').toString(); }); });
Michel.. 354
这个为我做了:
var input = $("") .attr("type", "hidden") .attr("name", "mydata").val("bla"); $('#form1').append(input);
是基于Daff的答案,但添加了NAME属性让它显示在表单集合中并将VALUE更改为VAL还检查了FORM的ID(在我的情况下为form1)
使用Firefox firebug检查元素是否已插入.
隐藏的元素会在表单集合中回发,只会丢弃只读字段.
米歇尔
这个为我做了:
var input = $("") .attr("type", "hidden") .attr("name", "mydata").val("bla"); $('#form1').append(input);
是基于Daff的答案,但添加了NAME属性让它显示在表单集合中并将VALUE更改为VAL还检查了FORM的ID(在我的情况下为form1)
使用Firefox firebug检查元素是否已插入.
隐藏的元素会在表单集合中回发,只会丢弃只读字段.
米歇尔
在您的情况下,只需动态地向窗体添加另一个隐藏字段即可.
var input = $("").attr("type", "hidden").val("Bla"); $('#form').append($(input));
你甚至可以使用这个.对我来说效果很好
$("#registerform").attr("action", "register.php?btnsubmit=Save") $('#registerform').submit();
这将提交btnsubmit =另存为GET值到register.php表单.
您不需要在单击提交按钮时绑定提交事件,只需绑定提交事件,它将捕获提交事件,无论它如何被触发.
想想你想要的是像通过ajax那样提交可排序的东西.尝试做这样的事情:
var form = $('#event').submit(function () { $.each($('#attendance').sortable('toArray'),function(i, value){ $("").attr({ 'type':'hidden', 'name':'attendace['+i+']' }).val(value).appendTo(form); }); });
您可以编写一个jQuery函数,它允许您向表单添加隐藏字段:
// This must be applied to a form (or an object inside a form). jQuery.fn.addHidden = function (name, value) { return this.each(function () { var input = $("").attr("type", "hidden").attr("name", name).val(value); $(this).append($(input)); }); };
然后在提交之前添加隐藏字段:
var frm = $("#form").addHidden('SaveAndReturn', 'Save and Return') .submit();