当前位置:  开发笔记 > 编程语言 > 正文

jQuery - 在提交时添加其他参数(NOT ajax)

如何解决《jQuery-在提交时添加其他参数(NOTajax)》经验,为你挑选了5个好方法。

使用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检查元素是否已插入.

隐藏的元素会在表单集合中回发,只会丢弃只读字段.

米歇尔



1> Michel..:

这个为我做了:

var input = $("")
               .attr("type", "hidden")
               .attr("name", "mydata").val("bla");
$('#form1').append(input);

是基于Daff的答案,但添加了NAME属性让它显示在表单集合中并将VALUE更改为VAL还检查了FORM的ID(在我的情况下为form1)

使用Firefox firebug检查元素是否已插入.

隐藏的元素会在表单集合中回发,只会丢弃只读字段.

米歇尔


我怎么用二进制唱"你是我的阳光"?非常感谢.这解决了很多问题.
您可以略微提高可读性:var input = $("",{type:"hidden",name:"mydata",value:"bla"}); $( '#Form1的')追加($(输入)).
我喜欢以下组合:$("",{type:"hidden",name:"mydata",value:"bla"}).appendTo("#form1");
$("").attr("type","hidden").attr("name","mydata").val("bla").appendTo('#form1'); 是另一种方式

2> Daff..:

在您的情况下,只需动态地向窗体添加另一个隐藏字段即可.

var input = $("").attr("type", "hidden").val("Bla");
$('#form').append($(input));


如果它是一个字符串,它可以放在表单字段中

3> Parag..:

你甚至可以使用这个.对我来说效果很好

$("#registerform").attr("action", "register.php?btnsubmit=Save") 
$('#registerform').submit();

这将提交btnsubmit =另存为GET值到register.php表单.



4> PetersenDidI..:

您不需要在单击提交按钮时绑定提交事件,只需绑定提交事件,它将捕获提交事件,无论它如何被触发.

想想你想要的是像通过ajax那样提交可排序的东西.尝试做这样的事情:

var form = $('#event').submit(function () {
    $.each($('#attendance').sortable('toArray'),function(i, value){
        $("").attr({
            'type':'hidden',
            'name':'attendace['+i+']'
        }).val(value).appendTo(form);
    });
});



5> Jonathan..:

您可以编写一个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();

推荐阅读
贴进你的心聆听你的世界
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有