【发布时间】:2012-08-01 12:22:23
【问题描述】:
我有一个任务需要在 JavaScript 中调用验证 onsubmit。这部分工作得很好。
第二部分是合并服务器端的 PHP 验证。编码应该在同一页面中,因此我下面的内容是通过我发现的一些研究和示例,这就是我想出的:
<?php
echo "<form action='' method='post' onsubmit='return regValidation()' id='RegistrationForm'>";
echo " <div>";
echo " <span class='reglbl'>";
echo " First Name: <input type='text' name='FirstName' id='FirstNameID'/>";
echo " Last Name: <input type='text' name='LastName' id='LastNameID'/>";
echo " </span>";
echo " </div>";
echo " <div>";
echo " <span class='reglbl'>";
echo " Email Address: <input type='text' name='email' id='EmailID'/>";
echo " Phone Number: <input type='text' name='PhoneNum' id='PhoneNumID'/>";
echo " </span>";
echo " </div>";
echo " <div class='reglbl'>Pssword: <input type='password' name='PWD1' id='PWD1'/></div>";
echo " <div class='reglbl'>Confirm Password: <input type='password' name='PWD2' id='PWD2'/></div>";
echo " <div><input type='submit' value=' Register ' id='sub' /></div>";
echo "</form>";
if(!isset($_REQUEST['FirstName']) ||
!isset($_REQUEST['LastName']) ||
!isset($_REQUEST['email']) ||
!isset($_REQUEST['PhoneNum']) ||
!isset($_REQUEST['PWD1']) ||
!isset($_REQUEST['PWD2']) ||
$_REQUEST['FirstName'] =="" ||
$_REQUEST['LastName'] == "" ||
$_REQUEST['email'] == "" ||
$_REQUEST['PhoneNum'] == "" ||
$_REQUEST['PWD1'] == "" ||
$_REQUEST['PWD2']=="")
{
echo "<script>alert('Please enter all fields!')</script>";
} elseif($_REQUEST['PWD1']!=$_REQUEST['PWD2']) {
echo "<script>alert('Passwords entered do not match!')</script>";
} elseif(strlen($_REQUEST['PWD1'])<8||strlen($_REQUEST['PWD2'])<8) {
echo "<script>alert('Passwords must be 8 or more characters!')</script>";
} else {
// CALL A FUNCTION IN PHP HERE
}
?>
因此,Java 和 PHP 中的验证都是相同的,唯一的区别是 PHP 会检查更多的 8 个字符长度的密码,但是当执行此代码时,JavaScript 会进行唯一的验证。
我也想知道如何调用一个外部 PHP,其中包含一个用于最终 else 的脚本。
这里是 javascript 代码 /注册验证 函数 regValidation(){
var firstName = document.getElementById('FirstNameID');
var lastName = document.getElementById('LastNameID');
var email = document.getElementById('EmailID');
var pwd1 = document.getElementById('PWD1');
var pwd2 = document.getElementById('PWD2');
if(firstName.value == '' || lastName.value == '' || email.value == '' || pwd1.value == '' || pwd2.value == '')
{
alert("Please enter all fields!");
}
else if (pwd1.value !== pwd2.value)
{
alert("Passwords entered do not match!");
}
else
{
}
return false;
}
【问题讨论】:
-
您的代码 sn-p 中没有客户端 JavaScript 验证。
-
我建议您将 HTML 部分从 PHP 中移出。
-
javascript 是外部调用的,我只是添加了我的函数的代码。
-
@JonasG.Drange 取出表格部分是什么意思??
-
我的意思是回显一堆 HTML 是不好的做法。
标签: php javascript forms function xhtml