2015-11-05 55 views
1

所以我想隱藏一個單選按鈕,直到我的表單被填寫完,但我不知道如何。我試過.hide();當我把它放在我的.submit函數之外但是它不起作用。這是使用jquery和bootstrap。如何隱藏單選按鈕,直到發生什麼事情?

這裏是我的JS小版(「同意」是的單選按鈕):

$('myForm').submit(function(e){ 
    var firstName = $('first-name').val(); 
    var pattern = /^$/; 
    var error = ''; 
    var checkbox = document.getElementById('agree'); 

    if(pattern.test(firstName)){ 
     error += 'Error: enter first name.\n'; 
    } 

    if(error.length != 0){ 
     alert(error); 
     e.preventDefault(); 
    } 

}); 

我想隱藏的單選按鈕,直到窗體的第一個名稱部分填寫,然後單選按鈕將出現。

+0

將單選按鈕的CSS設置爲'display:none'。然後使用jQuery的表單字段的輸入綁定。當他們開始輸入時,然後將單選按鈕的CSS設置爲'display:block;'查看以下鏈接以查看我已經完成的其他示例:http://stackoverflow.com/questions/33551833/javascript-call-function -oninput/33553683#33553683和http://stackoverflow.com/questions/33544127/check-if-the-page-was-reload –

+0

這似乎是你可以很容易地使用angular的東西。 – maxshuty

+0

謝謝,但我其實不想爲此使用CSS。我想我應該提到我正在使用jquery和bootstrap。 – Guy

回答

0

我會用普通的JavaScript此:

<input type="text" name="first-name" value="" onchange="document.getElementById('agree').style.display = (this.value == '' ? 'block' : 'none');"/> 
<input type="checkbox" name="agree" value="Agree" style="display:none"/> 

編輯: 其他的方式來做到這一點是使用的onkeydown,的onkeyup或的onblur,而不是平變化

0

把一個ID在你的收音機像這樣:

<input type="radio" id="rad" /> 

然後隱藏它像這樣使用jQuery:

$('#rad').hide(); 

然後你可以如何使其顯示當事情發生時會去有點像這樣的例子:

If ($('#something') > 10) { 
    $('#rad').show(); 
} 

希望這有助於:)

0

下面是使用jQuery一個簡單的例子。 .. http://jsfiddle.net/wa8rxj43/2/

HTML

<input type="text" id="name" class="name"> 
<input class="not-display" id="somecheck" type="checkbox" name="vehicle" value="Car" checked> 

的JavaScript

$('#somecheck').hide(); 

$("#name").bind({ 
    'input':function(){ 
     if(this.value.length > 0) 
     { 
      $('#somecheck').show(); 
     } 
     else 
     { 
      $('#somecheck').hide(); 
     } 

    } 
}); 

編輯:每個操作的要求移除CSS。

+0

謝謝,這個作品! – Guy