gpt4 book ai didi

jquery - ajax表单提交中如何提交表单名称和提交按钮名称

转载 作者:行者123 更新时间:2023-12-01 03:12:14 25 4
gpt4 key购买 nike

我正在寻找一些简洁的解决方案,在其中我能够发送表单名称并使用表单输入字段提交按钮名称。我尝试过 form.serializeArray() 方法,但我只在帖子中获取输入字段名称。那么如何仅用一行代码发送带有表单名称的完整表单数据并提交按钮名称

 <form id="formid" name="formName" class="formClass" action="service.php" method="POST" >
<input type="text" id="fname" name="fname"/>
<input type="text" id="lname" name="lname" />
<input type="Submit" id="SUBMIT" value="SUBMIT" name="submit"/>

</form>

$( "#formid" ).submit(function( event ) {
//var array = $(this).serializeArray() ; // Didn't send Form name and submit button
// var data2 = new FormData($( "#formid" )[0]); // I have also tried this



$.ajax({
type: $(this).attr('method'),
url : $(this).attr('action') ,
cache: false,
contentType: false,
processData: false,
data: formData,
complete:function(httpResponse, status) {
var response = httpResponse.responseText;
alert(response);

}
});


event.preventDefault();

});

我想在ajax中发送表单名称和提交按钮名称,就像提交表单后重新加载页面时一样。

更多我已经尝试过MALSUP我可以在其中发送表单名称并在 POST 数据中提交按钮名称。那么在 Jquery AJAX 中执行此操作的替代方法是什么

最佳答案

我得到了答案。即使提交表单后重新加载页面,表单名称也不会与表单数据一起出现。只有具有提交按钮名称的所有输入元素才会发送到表单数据中。即使输入 type="button"元素名称也不会进入表单数据。

但是通过 AJAX 表单提交,当我们使用 ('form').serialize() 方法或 ('form').serailizeArray() 方法时,所有表单元素值及其名称都会序列化,但 SUBMIT 按钮值不会序列化这。但我找到了一个解决方案,可以用最少的代码行发送提交按钮 NAME 和 VALUE。

var formdata = new FormData();
for (var i = 0; i < $(this)[0].length; i++) {
formdata.append($(this)[0][i].name, $(this)[0][i].value);
}

上面的代码将创建所有元素的数组,包括提交按钮 NAME 和 VALUE。这样做的好处是我们可以在服务器端检查提交按钮名称,并且可以仅根据一个条件执行有值(value)的操作。

关于jquery - ajax表单提交中如何提交表单名称和提交按钮名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25711525/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com