我使用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;
}
}
})
答案 0 :(得分:0)
看起来你有一个范围问题,你需要将popupValidation函数移动到全局范围