如何避免发送由display:none隐藏的输入字段到服务器? [英] How to avoid sending input fields which are hidden by display:none to a server?

查看:214
本文介绍了如何避免发送由display:none隐藏的输入字段到服务器?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

假设你有一个表格,你可以切换几个字段的可见性。如果这个字段没有显示出来,你不希望它的值被请求。



你如何处理这种情况?

解决方案

设置一个表单元素为禁用将停止它到服务器,例如:

 < input disabled =disabledtype =textname =test/> 

在JavaScript中,它的意思是这样的:

  var inputs = document.getElementsByTagName('input'); 
for(var i = 0; i< inputs.length; i ++){
if(inputs [i] .style.display =='none'){
inputs [i] .disabled = true;
}
}
document.forms [0] .submit();

在jQuery中:

  $('form> input:hidden')。attr(disabled,true); 
$('form')。submit();


Imagine you have a form where you switch visibility of several fields. And if the field is not displayed you don't want its value to be in request.

How do you handle this situation?

解决方案

Setting a form element to disabled will stop it going to the server, e.g.:

<input disabled="disabled" type="text" name="test"/>

In javascript it would mean something like this:

var inputs = document.getElementsByTagName('input');
for(var i = 0;i < inputs.length; i++) {
    if(inputs[i].style.display == 'none') {
        inputs[i].disabled = true;
    }
}
document.forms[0].submit();

In jQuery:

   $('form > input:hidden').attr("disabled",true);
   $('form').submit();

这篇关于如何避免发送由display:none隐藏的输入字段到服务器?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆