html中的form不提交,排除某些input 原创

在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  method="get" action="">
<input type="text" name="name" value="">
<input type="button"  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消失了。

原文地址: