在jquery中,当你想提交表格时
$(document).ready(function(){
$("form").submit(function(){
alert("Submitted");
});
});
我的问题是:我有一堆字段(不是相同的形式,或者根本没有任何形式)。当我按下发送按钮时,jquery将获取所有这些字段的值并发送到服务器(作为发送表单)。
我不知道如何在jquery中这样做。请告诉我
谢谢:)
答案 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");
});
});