在Html的form点击提交时,form内所有Input filed的内容,只要是有name属性的,并且没有disabled属性的,都会被提交,即通过网络发送到指定的URL。这是正常情况,如果有不想提交的input属性呢?
一、使用disabled属性
添加disabled属性是比较常用的方法。
<input type="hidden" name="name" value="" disabled>
但是添加了该属性后,你是不可以在页面上对该项内容进行修改的,也就是意味着即不能输入,也不能获取focus。
注意:type="hidden" 只是在页面展示的时候隐藏,form在提交的时候依然会发出。
二、去掉name属性
需要把name属性lang去掉,这时候再提交Form,可以看到lang没有了。
<input type="name" value="">
三、javascript移除
在submit的javascript函数里,调用remove方法把这个Input field给移除
<form id="form1" method="get" action="">
<input type="text" name="name" value="">
<input type="button" id="LoginId" value="GO" onclick="doLogin()">
</form>
上面的html代码点击提交按钮GO, 对应的处理函数是formsubmit()。javascript中加入formsubmit()函数,增加如下代码:
function formsubmit(){
document.getElementById("name").remove();
$("#form1").attr('action','你的提交url');
$("#form1").submit();
}
如上代码,formsubmit提交表单,会移除name属性。
注意:如果你的提交url是跳转到其他页面,是没有任何问题的;但是如果不跳转,还是本页面,不推荐这个方法,因为提交后的页面name属性的input消失了。