Javascript&;形式

Javascript&;形式,javascript,html,Javascript,Html,我目前正在尝试创建一个表单,要求用户输入有效信息 例如,这里有一个经典形式: 我希望用户输入姓名和地址。但是我希望在用户输入他的名字和电子邮件(以正确的形式)之前,按钮是不可点击的 如果按钮不可点击,是否有任何属性允许我访问?比如: function validateButtonSubmit { if (validateEmail(email)) { if (validateName(name)) { document.getElementById

我目前正在尝试创建一个表单,要求用户输入有效信息

例如,这里有一个经典形式:

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

如果按钮不可点击,是否有任何属性允许我访问?比如:

function validateButtonSubmit {
    if (validateEmail(email)) {
        if (validateName(name)) {
            document.getElementById("submitButton").clickable = true;
        }
    }
}
实现这一目标的最佳方式是什么?我的方向是否正确

使用:

使用:


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

var button = document.getElementById('submitButton');
button.removeAttribute('click');
// validation stuff 
button.setAttribute('click', submitForm());

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

var button = document.getElementById('submitButton');
button.removeAttribute('click');
// validation stuff 
button.setAttribute('click', submitForm());

如果您愿意,您可以在不使用嵌套的情况下缩短此时间:

function validateButtonSubmit() {
    var btnSubmit = document.getElementById("submitButton");
    btnSubmit.disabled = !(validateEmail(email) && validateName(name));
}

如果您愿意,您可以在不使用嵌套的情况下缩短此时间:

function validateButtonSubmit() {
    var btnSubmit = document.getElementById("submitButton");
    btnSubmit.disabled = !(validateEmail(email) && validateName(name));
}

您应该查看jquery validator,它使得在客户端验证输入比所有这些if语句都要容易得多(假设您的函数是正确的,这是正确的方法,除了可单击部分之外,将其更改为禁用)。您可以
禁用
提交按钮。查看可能的重复项您应该查看jquery validator,它使在客户端验证输入比所有这些if语句容易得多(假设您的函数是正确的,这是正确的方法,除了可单击部分之外,将其更改为禁用)。您可以
禁用
提交按钮。可以通过多种方式绕过As submit的可能副本,这是一个非常糟糕的解决方案,不容易维护。最好使用已经存在的许多验证模式中的一种。由于提交可以通过多种方式绕过,这是一个非常糟糕的解决方案,不容易维护。最好使用已经存在的多种验证模式之一。