Javascript函数检查用户名和密码字段,如果未完成,则相应停止
我刚刚开始学习PHP,我的老师建议我使用JS检查输入字段中是否有编码lentgh。 如果字段与规格匹配,则继续注册Javascript函数检查用户名和密码字段,如果未完成,则相应停止,javascript,php,submit,registration,Javascript,Php,Submit,Registration,我刚刚开始学习PHP,我的老师建议我使用JS检查输入字段中是否有编码lentgh。 如果字段与规格匹配,则继续注册 如果RegistrationValidation()返回false,如何停止php运行 提交按钮 <input type="button" name="Register" value="Register" onclick="RegistrationValidation()"> 注册新用户 <?php if (isset($_POST['Registe
如果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';
}
}
//
函数注册验证(){
var username=document.getElementById('username');
var password=document.getElementById('password');
var usererror=document.getElementById('usererror');
var passeror=document.getElementById('passeror');
var registration=document.getElementById('registrationCheck');
var username\u check=true;
var password_check=true;
如果(username.value.length<6){
var username\u check=false;
usererror.innerHTML='用户名必须至少包含6个字符';
}否则{
usererror.innerHTML='';
}
if(password.value.length<6){
var password_check=false;
passerror.innerHTML='密码必须至少包含6个字符';
}否则{
passeror.innerHTML='';
}
如果(用户名检查==true&&password检查==true){
document.getElementById(“myForm”).submit();
}否则{
返回false;
registration.innerHTML='重新键入用户名和密码';
}
}
//
如果验证失败,则函数返回false。因此,您可以简单地将函数用作处理程序,将onsubmit
处理程序添加到表单中
// put this before the close </body> tag or wrap it in window.onload = function(){ }
document.getElementById("yourform").onsubmit = RegistrationValidation;
//将其放在close标记之前,或将其包装在window.onload=function(){}
document.getElementById(“yourform”).onsubmit=RegistrationValidation;
这比在按钮上使用单击事件要好,因为onsubmit
处理其他情况,例如通过enter键提交表单
请记住,您仍然需要在PHP端执行相同的验证,因为JavaScript验证很容易绕过。如果我理解正确,onsubmit处理程序应该是这样的:
code
code
?这是使用内联事件,因此您需要更改为
(我添加了返回)。答案中的代码是不引人注目的JavaScript(没有内联JS)。两种方法都工作得很好,感谢您的耐心和洞察力。