js表单验证错误:未捕获的ReferenceError

时间:2016-07-18 01:09:50

标签: javascript php validation

我使用php将信息存储到数据库中,我想使用javascript来验证表单。我为表单验证创建了一个单独的javascript文件,它包含在index.php中,但每当我点击提交并在google的开发人员工具中查看控制台时,我得到:

index.php:92 Uncaught ReferenceError: popupValidation is not definedonsubmit @ index.php:92

以下是代码:

的index.php

            <form name="popup" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>" onsubmit="return popupValidation();" method="post">
            <div class="row">
              <input name="firstName" type="text" class="form-control" id="inputFirstName" placeholder="First Name">
              <input name="lastName" type="text" class="form-control" id="inputLastName" placeholder="Last Name">
            </div>
            <div class="row">
              <input name="email" type="email" class="form-control" id="inputEmail" placeholder="youremail@email.com">
            </div>
            <div class="row">
              <input name="password" type="password" class="form-control" id="inputPassword" placeholder="password">
            </div>
            <div class="row">
              <input name="repeatPass" type="password" class="form-control" id="retypePassword" placeholder="Retype password">
            </div>
            <div class="row">
              <input name="trainer" type="checkbox"/> Sign up as trainer
            </div>
            <div class="modal-footer popup-footer">
              <input type="submit" class="btn btn-default submit" value="Register">
           </div> 
          </form>

popupvalidation.js

$(document).ready(function(){
  function popupValidation() {
    var fname = document.forms["popup"]["firstName"].value;
    var lname = document.forms["popup"]["lastName"].value;
    var pass = document.forms["popup"]["password"].value;
    var repass = document.forms["popup"]["repeatPass"].value;
    var email = document.forms["popup"]["email"].value;

    if (fname==null || fname=="", lname==null || lname=="", pass==null || pass=="",
      repass==null || repass=="", email==null || email=="") {
        alert("Pleases fill out field");
        return false;
    }
  }
})

1 个答案:

答案 0 :(得分:0)

看起来你有一个范围问题,你需要将popupValidation函数移动到全局范围