使用具有多个变体的JavaScript验证表单

使用具有多个变体的JavaScript验证表单,javascript,validation,Javascript,Validation,我很难确保我的表格填写完整 以下是html: 我希望三个警报框同时出现。我遇到的问题是,它查看第一个if语句,然后跳出JavaScript代码 我稍后会有独特的消息告诉他们“请输入电子邮件”或“请输入用户名”,但由于我不能超过一个if语句,我不知道这将如何工作 我不想使用js库 如果您没有使用Javascript库,$()定义为什么 如果它类似于jQuery库,那么您需要使用$(“#username”)或document.getElementById('username')。如果您不使用Jav

我很难确保我的表格填写完整

以下是html:

我希望三个警报框同时出现。我遇到的问题是,它查看第一个if语句,然后跳出JavaScript代码

我稍后会有独特的消息告诉他们“请输入电子邮件”或“请输入用户名”,但由于我不能超过一个if语句,我不知道这将如何工作


我不想使用js库

如果您没有使用Javascript库,
$()
定义为什么


如果它类似于jQuery库,那么您需要使用
$(“#username”)
document.getElementById('username')

如果您不使用Javascript库,
$()
定义为什么

var message = "";
if ( !$('username').value ) {
    message += "Invalid username. ";
}
if ( !$('email').value ) {
    message += "Invalid email. ";
}
if ( message === "" ) {
    message = "Invalid post.";
}

alert(message);
return false;

如果它类似于jQuery库,那么您需要使用
$(“#username”)
document.getElementById('username')

您的
返回false语句将退出
inputCheck()
函数并返回给调用方,我猜这是表单Post事件,返回false会阻止提交。这发生在发现第一个错误之后

var message = "";
if ( !$('username').value ) {
    message += "Invalid username. ";
}
if ( !$('email').value ) {
    message += "Invalid email. ";
}
if ( message === "" ) {
    message = "Invalid post.";
}

alert(message);
return false;
对于一个用户来说,要获得多个警报框,他们必须确认表单验证,这并不是一个很好的用户体验。考虑用窗体中的所有错误建立一个字符串,并在一个警告中显示它们。

function inputCheck() {
    var errMsg = '';

    if($('username').value.length == 0) errMsg += 'Enter a valid username.\n';
    if($('email').value.length == 0) errMsg += 'Enter a valid email address.\n';
    if($('textarea_body').value.length == 0) errMsg += 'Enter an email body.\n';

    if(errMsg.length > 0) {
        alert('Please correct the following:\n' + errMsg);
        return false;
    }

    return true;
}

您的
返回false语句将退出
inputCheck()
函数并返回给调用方,我猜这是表单Post事件,返回false会阻止提交。这发生在发现第一个错误之后

对于一个用户来说,要获得多个警报框,他们必须确认表单验证,这并不是一个很好的用户体验。考虑用窗体中的所有错误建立一个字符串,并在一个警告中显示它们。

function inputCheck() {
    var errMsg = '';

    if($('username').value.length == 0) errMsg += 'Enter a valid username.\n';
    if($('email').value.length == 0) errMsg += 'Enter a valid email address.\n';
    if($('textarea_body').value.length == 0) errMsg += 'Enter an email body.\n';

    if(errMsg.length > 0) {
        alert('Please correct the following:\n' + errMsg);
        return false;
    }

    return true;
}

可能是GetElementById的快捷方式可能是GetElementById的快捷方式考虑避免onclick属性并使用JavaScript.P元素(段落)设置处理程序比divs更适合您的情况我为什么应该避免onclick?什么是更好的替换?考虑避免OnCutlook属性并使用JavaScript设置处理程序。P元素(段落)比DIVsWhy更适合您的情况下,我应该避免点击吗?更好的替代品是什么?这对我不起作用,因为我以后不想使用警报。这对我不起作用,因为我以后不想使用警报。好吧,我不会使用警报,我会更改标签。我已经尝试并删除了第一个返回false,但它仍然不起作用。@Philip您有
if{}else if{}else{}
,因此只会执行一个will check。您希望触发每个检查,因此它们应该是独立的测试
if{}if{}if{}
。好吧,我实际上不会使用警报,我将更改标记。我已经尝试并删除了第一个返回false,但它仍然不起作用。@Philip您有
if{}else if{}else{}
,因此只会执行一个will check。您希望激发每个检查,因此它们应该是独立的测试
if{}if{}if{}