表单加载时禁用特定的文本框

时间:2011-03-11 04:36:35

标签: php javascript html

我有许多文本框只有在完成某些操作时才需要启用,例如从下拉菜单或复选框中选择它。为此,我想在我第一次打开表单时禁用所有文本框。我需要使用一个函数来完成,这个函数只会禁用我想在开始时禁用的文本框。我怎么能这样做?

4 个答案:

答案 0 :(得分:6)

<input name="" type="text"  class="init" disabled="disabled"/>
<input name="" type="text"  class="init" disabled="disabled"/>
<input name="" type="text"  class="init" disabled="disabled"/>

这将禁用加载中的所有文本框

$(document).ready(function() {
$('.init').attr('disabled','disabled');
});

您也可以通过选择

选项启用文本框
<select name="list" id="list">
<option value="">select</option>
<option value="0">opt1(enable first text)</option>
<option value="1">opt2(enable second text)</option>
<option value="2">opt3(enable third text)</option>
</select>

脚本

$('#list').change(function(){
    var value =$(this).val();
    $('.init:eq('+value+')').removeAttr("disabled");
    return false;
});

答案 1 :(得分:0)

您可以使用此代码禁用所有带有jQuery awesomeness的textareas。

<script type="text/javascript" src="PATH-to-JQUERY"></script>
<script>
$(document).ready(function(){
    // loop through each textarea
    $('textarea').each(function(){
        // set it to disabled
        $(this).attr('disabled', 'disabled');
    });
});
</script>

要启用textarea,只需使用$('#TEXTAREA-ID-HERE').removeAttr('disabled');

即可

答案 2 :(得分:0)

以下(纯)Javascript函数将禁用所有文本框:

function disableTextboxes() {
  var inputs=document.getElementsByTagName('input');
  for(var i=0;i<inputs.length;i++) {
    if(inputs[i].type=='text') {
      inputs[i].disabled=1;
    }
  }
}

答案 3 :(得分:0)

使用jQuery可以轻松禁用/启用表单字段(或隐藏)

要考虑的事项,如果禁用所有字段,用户将如何与表单交互以启用其他表单字段?不确定这是不是你的意图,当然不是!

下面的代码显示了如何禁用所有字段(您可以更改此字段以禁用特定字段)以及如何根据字段输入显示/隐藏

$(document).ready(function() {

    //disable ALL fields
    $("#theId :input").attr("disabled", true);

    //specific form field value to show/hide something
    $("#exampleId").change(function () {
        if ($(this).val() == 'Other'){
                $('#exampleIdHolder').show();
            } else {
                $('#exampleIdHolder').hide();
            }
        });
});