1

我目前正在尝试做一个要求用户输入有效信息的表单。

例如,这是一个经典的形式:jsfiddle

我希望用户输入姓名和地址。但是我希望在用户输入他的姓名和电子邮件(以正确的形式)之前,该按钮是不可点击的。

如果按钮不可点击,是否有任何属性可以让我访问?就像是:

function validateButtonSubmit {
    if (validateEmail(email)) {
        if (validateName(name)) {
            document.getElementById("submitButton").clickable = true;
        }
    }
}

实现这一目标的最佳方法是什么,我是否朝着正确的方向前进?

4

3 回答 3

2

如果您愿意,您可以在没有嵌套的情况下缩短它:

function validateButtonSubmit() {
    var btnSubmit = document.getElementById("submitButton");
    btnSubmit.disabled = !(validateEmail(email) && validateName(name));
}
于 2013-10-04T16:08:22.967 回答
0

使用disabled

document.getElementById("submitButton").disabled = true;
于 2013-10-04T15:54:23.377 回答
-1

您可以在元素上调用 removeAttribute() ,然后在验证表单后调用 setAttribute :

var button = document.getElementById('submitButton');
button.removeAttribute('click');
// validation stuff 
button.setAttribute('click', submitForm());
于 2013-10-04T16:01:33.867 回答