2015-11-05 56 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