从不同的表单中的不同字段向服务器提交数据

时间:2015-04-15 19:50:59

标签: javascript jquery html forms

在jquery中,当你想提交表格时

$(document).ready(function(){
    $("form").submit(function(){
        alert("Submitted");
    });
});

我的问题是:我有一堆字段(不是相同的形式,或者根本没有任何形式)。当我按下发送按钮时,jquery将获取所有这些字段的值并发送到服务器(作为发送表单)。

我不知道如何在jquery中这样做。请告诉我

谢谢:)

4 个答案:

答案 0 :(得分:3)

因此,您希望发送页面中所有表单中的所有值以及一些非任何形式的值,并以新的形式发送所有值吗?

  var theForm = $('<form></form>');

  $('form').find('input, textarea, select').each(function() {
        theForm.append('<input type="hidden" value='+ $(this).val() +' id='+$(this).attr('id') +' name ='+$(this).attr('id') +'>')
  });

  $('#input1, .moreinputs').each(function() {
         theForm.append('<input type="hidden" value='+ $(this).val() +' id='+$(this).attr('id') +' name ='+$(this).attr('id') +'>')
  });

  theForm.submit();

这样您就可以创建一个包含所需值的新表单。

答案 1 :(得分:1)

您的HTML代码不需要将输入字段放入表单标记中。只需确保您的jQuery扇区可以使用id或类标识它们,以便您可以在字段中提取值并将其发送到服务器进行处理。

<!--<form action='...'>-->
<input id='myInputA' type='text'>  
<input id='myInputA' type='text'>
<!--</form>-->
<div id='myFakeFormButton' class='makeItLookLikeAFromButton'>Send</div>

您的脚本在特定输入字段上执行ajax

//the script that can ignore any form values
$('#myFakeFormButton').on("click", function(){
    //get only the items you want to send.
    var input_A_Value = $('#myInputA').val();
    var input_B_Value = $('#myInputB').val();

    var myParamToSend = {
      paramA:input_A_Value,
      paramB:input_B_Value
    };

    $.ajax({
     url:'myFormProcessingPage.php',
     type:'POST',
     data: myParamToSend,
     success:function(result){
         console.log('processing form returned ', result);
     },
     error:function(error){
         console.error(error);
     }
    });

});

答案 2 :(得分:1)

试试这个:即:

var form1= $fomr1.serializeArray();//get all field form
form1.push({name:'test',value:'test2'}); //add other field
var ser=$.param( ui ); //serialize 

并通过ajax发送,即:$ .post(&#39; url&#39;,ser,function(){})

答案 3 :(得分:0)

可能是因为您使用$("form").submit(...)在页面中提交了所有表单。您应该选择所需的表单$("#form_id")

$(document).ready(function(){
    $("#form_id").submit(function(){
        alert("Submitted");
    });
});