Javascript 两字段验证 拯救 取消 /****此页面的特定JS****/ //验证事项 函数validate_course_name(){ var TCode=document.getElementById('course_name')。值; 如果(/[^a-zA-Z1-9-]/.测试(TCode)){ document.getElementById('course_name_info')。innerHTML=“请仅输入字母数字或,-,”; 返回false; } 其他的 { document.getElementById('course_name_info')。innerHTML=“请仅输入字母数字或,-,”; 返回true; } } 函数validate_course_desc(){ var TCode=document.getElementById('course_desc')。值; 如果(/[^a-zA-Z1-9-]/.测试(TCode)){ document.getElementById('course_desc_info').innerHTML=“请仅输入字母数字或,-,”; 返回false; } 其他的 { document.getElementById('course_desc_info').innerHTML=“请仅输入字母数字或,-,”; 返回true; } } 函数验证(){ 返回validate_course_name(); 返回validate_course_desc(); }

Javascript 两字段验证 拯救 取消 /****此页面的特定JS****/ //验证事项 函数validate_course_name(){ var TCode=document.getElementById('course_name')。值; 如果(/[^a-zA-Z1-9-]/.测试(TCode)){ document.getElementById('course_name_info')。innerHTML=“请仅输入字母数字或,-,”; 返回false; } 其他的 { document.getElementById('course_name_info')。innerHTML=“请仅输入字母数字或,-,”; 返回true; } } 函数validate_course_desc(){ var TCode=document.getElementById('course_desc')。值; 如果(/[^a-zA-Z1-9-]/.测试(TCode)){ document.getElementById('course_desc_info').innerHTML=“请仅输入字母数字或,-,”; 返回false; } 其他的 { document.getElementById('course_desc_info').innerHTML=“请仅输入字母数字或,-,”; 返回true; } } 函数验证(){ 返回validate_course_name(); 返回validate_course_desc(); },javascript,Javascript,这就是代码…我在两个字段上应用字母数字验证,但问题是如果我给第一个输入字段有效输入,第二个无效表单提交,我哪里做错了。。。我是这个网站的新手,因此任何帮助都将不胜感激:) 或者你可以使用 function validate(){ var value1 = validate_course_name(); var value2 = validate_course_desc(); if(value1 == true && value2 == true

这就是代码…我在两个字段上应用字母数字验证,但问题是如果我给第一个输入字段有效输入,第二个无效表单提交,我哪里做错了。。。我是这个网站的新手,因此任何帮助都将不胜感激:)

或者你可以使用

function validate(){    

    var value1 = validate_course_name();

    var value2 = validate_course_desc();

   if(value1 == true && value2 == true)
     return true;
   else
     return false
}

然后直接调用此函数

更改函数validate()

在函数中执行return语句后,return语句后面的其他语句将不起作用

因此,每次调用validate_course_name()函数时,都会返回一个bool值,甚至不会调用/执行validate_course_desc()


因此,如果validate\u course\u name()为true,则validate函数返回true;如果validate\u course\u name()为false,则validate函数返回false。因此,当您提供第一个字段有效输入,第二个字段无效输入时,表单将被提交。

更新的答案:

function validate(){


    return validate_course_name();

    return validate_course_desc();

}
很好!只是为了与众不同=)

如果
验证课程名称()
返回
false
,则一行应验证两个字段

JSFiddle:


false
=0,
true
=1。现在计算:)

在这个函数中,应该只返回一次。因此,这里发生的情况是,当执行
validate\u course\u name()
时,控件已经返回到调用例程<代码>验证课程描述()行不会执行

function validate()
{
    return (validate_course_name() * validate_course_desc()) == true;
}
您应该这样做:

function validate(){


    return validate_course_name();

    return validate_course_desc();

}

下面给出的验证方法将在调用第一个验证方法(
validate\u course\u name
)后立即返回,因此它不会执行
validate\u course\u desc
方法

function validate(){


        var bol1 = validate_course_name();

        var bol2 = validate_course_desc();

if(bol1 == true && bol2 == true)
return true;
else
return false;

}

解决方案是执行这两种验证方法并对其进行汇总,以创建上述答案中给出的返回值

两个输入字段的验证是相同的,因此您可以创建一个以元素id为参数的验证函数:

function validate(){
    return validate_course_name();
    return validate_course_desc();
}
然后可以使用函数
validate()
检查两个输入字段是否有效:

function validateInputfield(id){

     var TCode = document.getElementById(id).value;
     if( /[^a-zA-Z1-9 _-]/.test( TCode ) ) {
         document.getElementById(id).innerHTML="Please Enter Only Alphanumeric or _,-,' ' ";
         return false;
     } else {
         return true; 
     }
}

您的
validate()
不正确。如果名称验证成功,则执行第一个return语句并从方法返回。永远没有机会运行第二次验证。执行类似于“如果第一次验证成功,那么调用第二次验证。”@user2137186您是否理解问题+1以显示第一种验证方法。每个人做的事情都略有不同。您的第一个版本将验证这两个字段并显示每个字段的消息,而如果coure name无效,则第二个版本将不显示descripti on的消息。@user2137186您可以使用第一个代码显示两个验证错误messgaes@PSR如果(validate==false)出现
if,是否有具体原因
最后?如果任何一个验证失败,则返回False,但如果两个字段都不正确,则不会同时显示错误消息,因此我将+1设为PSR@Paulpro我称之为“功能”=P@Paulpro更新了我的答案;)
function validate(){
    return validate_course_name();
    return validate_course_desc();
}
function validateInputfield(id){

     var TCode = document.getElementById(id).value;
     if( /[^a-zA-Z1-9 _-]/.test( TCode ) ) {
         document.getElementById(id).innerHTML="Please Enter Only Alphanumeric or _,-,' ' ";
         return false;
     } else {
         return true; 
     }
}
function validate() {

    if (validateInputfield('course_desc_info') == true &&
        validateInputfield('course_name_info') == true) {

        return true;
    } else {
        return false;
    }

}