如何使用javascript禁用表单中的一个字段?

时间:2014-03-14 09:31:57

标签: javascript jquery html forms

我有一个包含多个文本字段的表单。

在顶部的表格中有两个单选按钮的问题:

直接或上市。

  1. 直接表示您必须提供电子邮件地址。

  2. Go public表示已禁用电子邮箱。

  3. <input type="radio" name="target" value="public" />
    <label for "public">Open to anyone </label></br>
    <input type="radio" name="target" value="direct"/>  
    <label for="newEmail">Email address of the person:</label>
    <input type="text" name="newEmail" id='newEmail'>
    </br>    
    </br>
    </br>
    <label for="title">Book title:</label>
    <input type="text" name="title" id='title'></br>
    <label for="location">Location:</label>
    <input type="text" name="location" id='location'>
    

    不得影响其他表单字段

2 个答案:

答案 0 :(得分:2)

你可以做这样的事情

$('input:radio').on('click',function(){
    if(this.checked && this.value == "public") // this.checked is not necessary as checking value already
       $("#newEmail").prop("disabled",true);
    else
        $("#newEmail").prop("disabled",false);
});

Fiddle

旁注:我建议click代替change(),因为单选按钮经常在一个组中切换,您不需要添加多个案例或条件逻辑就像你使用复选框一样。虽然也可以使用改变

答案 1 :(得分:0)

这将根据选择的单选按钮触发电子邮件输入的禁用状态。

var $radios = $('input[type="radio"]');
$radios.change(function() {
    $('#newEmail').prop('disabled', $radios.first().is(':checked'));
});

JSFiddle