jquery动态改变form属性提交表单

2019-12-21,,

有些情况下,同一个form在不同的情况下提交到不同的处理动作,可以在js中动态改变form的属性,满足不同条件的form提交需求。

如:
复制代码 代码如下:
<form id="form" name="form" method="POST" enctype="multipart/form-data" action="action1.jsp" target="iframe">
<input type="file" name="file" id="file" class="input_text80"></input>
<input id="name" name="name"/>
<input type="button" value="更新到探测点" onClick="javascript:formSubmit();"></input>
</form>
<iframe name="iframe"></iframe>

现在需要条件1的情况下按上面的方式提交,以method="POST" enctype="multipart/form-data" action="action1.jsp" target="iframe"提交到action1.jsp进行处理;条件2的情况下需要按照普通文本方式提交到action2.jsp处理,并打开新页面。则需要通过js的方式动态改变form的属性:
复制代码 代码如下:
function formSubmit(){
if(flag=="1"){
$("#form").submit();
}else if(flag=="2"){
$("#form").attr("action","deployResult.jsp");
$("#form").attr("target","_blank");
$("#form").attr("method","GET");
$("#form").attr("enctype","application/x-www-form-urlencoded");
$("#form").attr("encoding","application/x-www-form-urlencoded");
$("#form").submit();
}
}

注:

改变form的enctype属性时,如果只写$("#form").attr("enctype","application/x-www-form-urlencoded");
将不起作用,必须将以下两句结合才能生效:
复制代码 代码如下:
$("#form").attr("enctype","application/x-www-form-urlencoded");
$("#form").attr("encoding","application/x-www-form-urlencoded");

其中,enctype的属性值含义参考博文《HTML <form> 标签的 enctype 属性》

您可能感兴趣的文章:

  • jQuery动态设置form表单的enctype值(实现代码)
  • jquery实现ajax提交form表单的方法总结
  • jQuery实现form表单基于ajax无刷新提交方法详解
  • jquery的ajax提交form表单的两种方法小结(推荐)
  • Jquery.Form 异步提交表单的简单实例
  • Jquery基于Ajax方法自定义无刷新提交表单Form实例
  • jQuery实现数秒后自动提交form的方法
  • jquery中validate与form插件提交的方式小结
  • jQuery改变form表单的action,并进行提交的实现代码
  • jQuery ajax提交Form表单实例(附demo源码)
  • jquery实现动态创建form并提交的方法示例

《jquery动态改变form属性提交表单.doc》

下载本文的Word格式文档,以方便收藏与打印。