jquery动态改变form属性提交表单
如:
<formid="form"name="form"method="POST"enctype="multipart/form-data"action="action1.jsp"target="iframe"> <inputtype="file"name="file"id="file"></input> <inputid="name"name="name"/> <inputtype="button"value="更新到探测点"onClick="javascript:formSubmit();"></input> </form> <iframename="iframe"></iframe>
现在需要条件1的情况下按上面的方式提交,以method="POST"enctype="multipart/form-data"action="action1.jsp"target="iframe"提交到action1.jsp进行处理;条件2的情况下需要按照普通文本方式提交到action2.jsp处理,并打开新页面。则需要通过js的方式动态改变form的属性:
functionformSubmit(){ if(flag=="1"){ $("#form").submit(); }elseif(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属性》