3

正如标题所说,我正在尝试在打开文件时禁用文本框

<form name='registration' action="registration.php" method="post" onSubmit="return formValidation();">
    <table>
        <tr>
            <td>FirstName:</td>     
            <td><input type = "Text" name = "firstname" id="1"></p></td>
        </tr>
    </table>
</form>

我尝试使用以下 javascript 代码禁用它:

function formValidation() {
    var fn = document.registration.firstname;
    if(fname_validation(fn)) {}
    document.getElementById("1").disabled = true;
}

function fname_validation(fn) {
    var fn_len = fn.value.length;
    var fn_char = /^[A-Za-z]+$/;
    if (fn_len == 0) {
        alert("first name cannot empty");
        return false;
    }
    if (!fn.value.match(fn_char)) {
        alert("first name must enter alphabet only");
        return false;
    } else {
        return true;
    }
}

为什么文本框仍然没有禁用?

4

2 回答 2

7

首先,没有单选按钮。其次,您什么时候想禁用文本输入?现在,在表单提交时调用禁用输入的功能。因此,只有在您提交表单时,您的输入才会被禁用……可能为时已晚。如果你想从一开始就禁用你的输入,你的输入应该是这样的

<input type = "Text" name = "firstname" id="1" disabled="disabled" />

或者如果你想用 javascript 禁用它,你必须在加载时执行它。像这样的东西:

window.onload = function() {
   document.getElementById('1').disabled = true;
};
于 2013-09-15T16:33:38.117 回答
0

如果您希望在页面加载时禁用文本框,请将disabled属性添加到您的input

<input type = "Text" name = "firstname" id="1" disabled />
于 2013-09-15T16:32:35.137 回答