Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/397.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript验证似乎不起作用?有什么错误吗?_Javascript_Html - Fatal编程技术网

Javascript验证似乎不起作用?有什么错误吗?

Javascript验证似乎不起作用?有什么错误吗?,javascript,html,Javascript,Html,我已经试着搜索了3个小时的错误,但我不知道为什么它不起作用。有人能帮我吗(当我开始按sumbit按钮时,整个表单刷新。这就像返回true而不是false。我确实将javascript链接到html。在结束body标记之前,我将链接放在底部 <script src="../Js/feedbackscript.js"></script> 我看到的一个问题是:全局变量是在加载时填充的,而validateForm()是函数稍后被触发,值可能已更改。但变量内容未更新。在

我已经试着搜索了3个小时的错误,但我不知道为什么它不起作用。有人能帮我吗(当我开始按sumbit按钮时,整个表单刷新。这就像返回true而不是false。我确实将javascript链接到html。在结束body标记之前,我将链接放在底部

    <script src="../Js/feedbackscript.js"></script> 

我看到的一个问题是:全局变量是在加载时填充的,而validateForm()是函数稍后被触发,值可能已更改。但变量内容未更新。

在这个copepen中,它似乎正在工作…您有任何错误吗?您使用的是什么浏览器?我使用的是chrome,我也尝试过Firefox,但仍然不工作。您的feedbackscript.js文件在哪里?您确定它位于正确的p蕾丝?arh nvm我已经修好了。我试着像Jimbot说的那样把全局变量放到函数中(ty all:)太棒了!做得好!
 <div id="form-main">
 <div id="form-div">

<form method="POST" class="form" id="form1" name="Form" onsubmit="return validateForm()">

  <p class="name">
    <input name="name" type="text"   class="feedback-input" placeholder="Name" id="name" />
                    <div id="name_error" class="val_error"></div>
  </p>  
  <p class="email">
    <input name="email" class="feedback-input" type="text" id="email" placeholder="Email" />
                    <div id="email_error" class="val_error"></div>
  </p>  
  <p class="hpnum">
    <input name="hpnum" type="text" id="contactnum" class="feedback-input" placeholder="Contact Number"/>
                    <div id="contact_error" class="val_error"></div>     
 </p>  
  <p class="text">
    <textarea name="text" id="comment" class="feedback-input" placeholder="Comment"></textarea>
                    <div id="comment_error" class="val_error"></div>
  </p>

  <div class="submit">
    <input type="submit" value="SEND" id="button-blue"/>
    <div class="ease"></div>
  </div>

</form>
</div>
</div>
    // GETTING ALL INPUT TEXT FIELDS
var username = document.forms["Form"]["name"];
var email = document.forms["Form"]["email"];
var comment = document.forms["Form"]["comment"];
var contact = document.forms["Form"]["hpnum"];
// GETTING ALL ERROR OBJECTS
var name_error = document.getElementById("name_error");
var email_error = document.getElementById("email_error");
var comment_error = document.getElementById("comment_error");   
var contact_error = document.getElementById("contact_error");
        name_error.textContent = "Username is required";
function validateForm(){

    // VALIDATE USERNAME
    if(username.value == ""){
        name_error.textContent = "Username is required";
        username.style.border = "1px solid red";
        username.focus();
        return false;
    }
    // VALIDATE EMAIL
    else if(email.value == ""){
        email_error.textContent = "Email is required";
        email.style.border = "1px solid red";
        email.focus();
        return false;
    }
    else if(contact.value == ""){
        comment_error.textContent = "Comment is required";
        comment.style.border = "1px solid red";
        comment.focus();
        return false;
    }
    else if(comment.value == ""){
        comment_error.textContent = "Comment is required";
        comment.style.border = "1px solid red";
        comment.focus();
        return false;
    }
    else{
        alert("Thank You! For Your Feedback!");
    }
}