jQuery - submit multiple forms through single request, without Ajax

后端 未结 6 1674
-上瘾入骨i
-上瘾入骨i 2020-12-29 09:49

I have a page with several forms. I am trying to submit one of the forms (say form A) (NOT through Ajax, since I need to load the result page after the submit is processed)

6条回答
  •  失恋的感觉
    2020-12-29 10:25

    I discovered that your solution will copy the form to another invissible form, but the backside is that the original forms will be cleared an such edit of the original form (eg after form validation errors) is not possible.

    To solve this i tried to clone the elements before appending it to the invissible form. I edited your code like this:

    //Arguments: "name"s of forms to submit.
    //First argument: the form which according to its "action" all other forms will be submitted.
    //Example: mergeForms("form1","form2","form3","form4")    
    function mergeForms() {
            var forms = [];
            $.each($.makeArray(arguments), function(index, value) {
                forms[index] = document.forms[value];
            });
            var targetForm = forms[0];
            $.each(forms, function(i, f) {
                if (i != 0) {
                    $(f).find('input, select, textarea')
                        .clone()
                        .hide()
                        .appendTo($(targetForm));
                }
            });
    

    Unfortunatly now it doesn't copy the selected values in a select element.

    Hope someone can help me to impove this script

提交回复
热议问题