jQuery的 – 提交额外的参数(NOT ajax)
使用jQuery的“提交” – 有没有办法将其他parameter passing给表单? 我不想用Ajax做到这一点 – 这是正常的,刷新典型的表单提交。
$('#submit').click(function () { $('#event').submit(function () { data: { form['attendees'] = $('#attendance').sortable('toArray').toString(); }); });
这个为我做了:
var input = $("<input>") .attr("type", "hidden") .attr("name", "mydata").val("bla"); $('#form1').append($(input));
是基于Daff的答案,但添加了NAME属性让它显示在表单集合中,并将VALUE更改为VAL还检查了FORM的ID(在我的情况下是form1)
使用Firefox的firebug来检查元素是否被插入。
隐藏的元素在表单集合中返回,只有只读字段被丢弃。
米歇尔
在你的情况下,只需添加另一个隐藏的字段到你的表单dynamic。
var input = $("<input>").attr("type", "hidden").val("Bla"); $('#form').append($(input));
你甚至可以使用这个。 为我工作得很好
$("#registerform").attr("action", "register.php?btnsubmit=Save") $('#registerform').submit();
这将提交btnsubmit =另存为GET值register.phpforms。
你可以写一个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 = $("<input>").attr("type", "hidden").attr("name", name).val(value); $(this).append($(input)); }); };
然后在提交之前添加隐藏字段:
var frm = $("#form").addHidden('SaveAndReturn', 'Save and Return') .submit();
你不需要绑定提交事件点击提交button只需绑定提交事件,它将捕获提交事件无论如何被触发。
想想你想要的就是像通过ajax那样提交sorting。 尝试做这样的事情:
var form = $('#event').submit(function () { $.each($('#attendance').sortable('toArray'),function(i, value){ $("<input>").attr({ 'type':'hidden', 'name':'attendace['+i+']' }).val(value).appendTo(form); }); });
类似的答案,但我只是想提供一个简单/快速的testing。
var input = $("<input>") .attr("name", "mydata").val("go Rafa!"); $('#easy_test').append(input);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.3/jquery.min.js"></script> <form id="easy_test"> </form>