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

  有些情况下,同一个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 属性》