JavaScript动态添加数据到表单并提交的几种方式

作者:木棉时间:2026-10-23 08:59:56浏览:554

本文详解JavaScript中动态向表单添加数据并提交数据的四种常见场景。涵盖已有Form对象追加元素、无Form对象动态生成、jQuery Ajax序列化提交以及利用FormData处理文件上传。提供完整代码示例,帮助开发者根据实际需求选择最佳方案。

已有Form对象动态追加并提交

场景1:若已存在form对象,需动态向其中添加元素后提交


function formAppendSubmit(){
var myform=$('#newArticleForm'); //得到form对象
var tmpInput=$("<input type='text' name='blogArticleForm.articleContent'/>");
tmpInput.attr("value", myUeditor.window.getContentInsideBody());
myform.append(tmpInput);
myform.submit();
}

动态生成Form对象并提交

场景2:若无form对象,需动态创建form,添加数据后提交


function(event){
form = $("<form></form>")
form.attr('action',action)
form.attr('method','post')
input1 = $("<input type='hidden' name='input1' />")
input1.attr('value','input1 value')
input2 = $("<input type='text' name='textinput' value='text input' />")
form.append(input1)
form.append(input2)
form.appendTo("body")
form.css('display','none')
form.submit()
}

jQuery Ajax序列化提交表单

jquery ajax 提交表单


$.ajax({
type: "POST", 
url: www.baidu.com,
data: $('#formId').serialize(),
success: function (data) {
},
error: function(data) {
}
});

jQuery Ajax非表单形式提交

jquery ajax 非表单形式


$.ajax({
type:"post",
url: "login.action",
data: "name="+user + "&chatRoomId="+chatRoomId,
success:
function(){
},
error:
function(){
}
});

利用FormData动态添加数据并提交

5|0场景3:若无form对象,利用formData动态添加数据并提交


function UpladFile(fileUploadId, taskid) { 
     var fileObj = document.getElementById(fileUploadId).files[0]; // 获取文件对象
// FormData 对象
var form_data = new FormData();
//form.append("author", "hooyes"); // 可以增加表单数据
form_data.append("taskid", taskid);
form_data.append("file", fileObj); // 文件对象
     $.ajax({
     type: "POST",
      dataType: "html",
      url: www.baidu.com,
      data: form_data,
      success: function (data) {
     },
      error: function(data) {
     }
      });
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持本站。

作者最新文章