我刚开始学习 PHP,我的老师建议我使用 JS 来检查输入字段的长度。
如果字段符合规范以继续注册
如果 RegistrationValidation() 返回 false,我该如何停止运行 php?
提交按钮
<input type="button" name="Register" value="Register" onclick="RegistrationValidation()">
注册新用户
<?php
if (isset($_POST['Register'])) {
include 'SQL.php';
$username = $_POST['username'];
$password = $_POST['password'];
NewUser($username, $password);
} else
echo '';
?>
Javascript 函数
function RegistrationValidation() {
var username = document.getElementById('username');
var password = document.getElementById('password');
var usererror = document.getElementById('usererror');
var passerror = document.getElementById('passerror');
var registration = document.getElementById('registrationCheck');
var username_check = true;
var password_check = true;
if (username.value.length < 6) {
var username_check = false;
usererror.innerHTML = 'Username must have at least 6 characters.';
} else {
usererror.innerHTML = '';
}
if (password.value.length < 6) {
var password_check = false;
passerror.innerHTML = 'Password must have at least 6 characters.';
} else {
passerror.innerHTML = '';
}
if (username_check == true && password_check == true) {
document.getElementById("myForm").submit();
} else {
return false;
registration.innerHTML = 'Retype username and password';
}
}
//
最佳答案
如果验证失败,您的函数将返回 false。因此,您可以简单地向表单添加一个 onsubmit
处理程序,使用您的函数作为处理程序。
// put this before the close </body> tag or wrap it in window.onload = function(){ }
document.getElementById("yourform").onsubmit = RegistrationValidation;
这比在按钮上使用点击事件要好,因为 onsubmit
处理其他情况,例如通过回车键提交表单。
请记住,您仍然需要在 PHP 端执行相同的验证,因为 JavaScript 验证很容易被规避。
关于用于检查用户名和密码字段的 Javascript 函数,如果它们没有相应地完成则停止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23808439/