2014-09-26 42 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