2013-07-22 73 views
1

隱藏我有一個使用jQuery的形式隱藏了不相關的領域,除非滿足某些條件的表單元素:

<form action="thepage.php id="subform" method="post"> 
     <h2> 
     Select a Drawing Type: 
     </h2> 
     <div> 
     <input type="radio" name="drawingType" tabindex="10" value="1"/>Drawing 1 
     <input type="radio" name="drawingType" value="2"/>Drawing 2 
     <input type="radio" name="drawingType" value="3"/>Drawing 3 
     <input type="radio" name="drawingType" value="4"/>Drawing 4 
     </div> 
     <p class="drawingInput drawX"> 
     Is this drawing related to an old drawing? 
     <input type="radio" name="revUp" tabindex="100" value="0"/>No 
     <input type="radio" name="revUp" value="1"/>Yes 
     </p> 

    <input type="submit" name="submitted" value="New Drawing" /> 
</form> 

隨着jQuery的:

$('.drawingInput').hide; 
$('input:[name="drawingType"]').change(function(){ 
    if ($(this).val()==1){ 
    $('.drawingInput').hide(); 
    $('.drawX').show(); 
    } else if ($(this).val()==2){ 
    $('.drawingInput').hide(); 
    $('.drawX').show(); 
    } else if ($(this).val()==3){ 
    $('.drawingInput').hide(); 
    } else if ($(this).val()==4){ 
    $('.drawingInput').hide(); 
    } 
}); 

因此,當選擇繪圖1或2時,顯示下一個輸入按鈕。用戶然後選擇revUp字段,並提交,一切工作正常。但是,如果從未透露p,例如未在第一個收音機框中選擇值1或2,則revUp永遠不會是$ _POST'ed,證據爲var_dump($_POST)

如果用戶從未看到它,我如何檢索revUp的值?它在var_dump可見時顯示,但在從未選擇時顯示。控制檯閱讀器也是如此,檢查發送的標題。

回答

0

看起來像瀏覽器特定的東西。嘗試向用戶展示它們,但使用99.99999%的不透明度或類似的東西,然後查看是否發送了值。

另一方面:如果用戶從未編輯過,是否真的需要發送它們?這不就是說你知道他們的價值嗎?

+0

我已經在Chrome和Firefox(最新版本)中嘗試過它並獲得相同的響應。我正在使用邏輯語句的值。我寧願確定基於'revUp'的下一步行動,而不是添加額外的邏輯。它會更便攜。不透明的想法很有趣,但語義上不正確。 – Sablefoste