2014-09-26 50 views
0

我创建了一个表单,其中根据选择显示/隐藏输入字段,并且我只发布可见的输入字段。目前隐藏的输入字段的值也submitten不要发布隐藏的表单输入字段?

我检查了$ _ POST,我看到

[chairs] => Array 
    (
     [0] => chair-b-white 
     [1] => chair-c-black 
    ) 

    [num_of_chair-a-black] => 
    [num_of_chair-a-white] => 
    [num_of_chair-a-gray] => 
    [num_of_chair-b-black] => 
    [num_of_chair-b-white] => 2 
    [num_of_chair-b-gray] => 
    [num_of_chair-c-black] => 5 
    [num_of_chair-c-white] => 
    [num_of_chair-c-gray] => 

有没有办法跳过它们是空的张贴输入字段?

+0

你可以用JavaScript来做到这一点。你已经使用JS库吗? – Jasper 2014-09-26 09:57:16

+0

@Jasper是的,jquery + bootstrap + bootstrapvalidator。顺便说一下,我隐藏/显示由'$(“#椅子”)div divs。change(function(){ $('。hide-el-chairs')。hide(); $(“#chairs option: ()。('。num_of_'+ str())。 +“_label”)。show(); }); });' – alex 2014-09-26 10:00:57

回答

0

我假设你使用javascript切换字段的可见性。隐藏它们时,您也可以将它们设置为disabled。禁用的表单字段不会提交给服务器。

+0

嗯,我隐藏它们所在的div。所以我必须禁用所有childern输入字段? – alex 2014-09-26 10:10:05

+0

啊,是的,你必须在你隐藏的每个div内单独禁用字段。 – 2014-09-26 10:17:18

+0

嗯我可以让他们但切换不起作用。在隐藏的div中,我禁用了所有的选择菜单,还有$('。hide-el-chairs')。hide();每个(function(){ )$(“#chairs”)。change(function(){('。hide-el-chairs')。hide(); $(“#chairs option:selected”)。 var str = $(this).attr(“value”); $('#num_of_'+ str).prop('disabled',false); $('#num_of_'+ str).show(); $ ('.num_of_'+ str +“_label”)。show();});});' 现在输入字段已启用,但是当选择菜单再次隐藏时,我无法再次禁用选择菜单 – alex 2014-09-26 10:37:27