我有一个要填写的表单,如果密码和重新确认密码不匹配,将显示弹出式javascript警报。但是,一旦我在弹出警报上单击“确定”,整个表单就会重置。但我只想让密码再次为空白,而不是整个表格。
我试过这种方式:
if($pwd != $pwd2) {
echo("<script type='text/javascript'>alert('Password does not match!')</script>");
}
我也试过了下面的那个,但仍然发生了同样的事情:
if($pwd != $pwd2) {
?>
<script type="text/javascript">
alert("Password does not match!");
</script>
<?php
}
答案 0 :(得分:0)
您的验证在服务器端,一旦您点击服务器,表单每次都会重置,为了显示服务器的验证错误,您需要再次将值传递给表单并出现错误。 如果要在验证错误上显示警报,请使用jQuery或简单JS的客户端验证。通过这种方式,您的表单值保持不变,并且会弹出警报。
答案 1 :(得分:0)
如果你真的需要使用php
<?php
$pwd = isset($_REQUEST['pwd']) ? $_REQUEST['pwd'] : "";
$pwd2 = isset($_REQUEST['pwd2']) ? $_REQUEST['pwd2'] : "";
if($pwd != $pwd2) {
echo("<script type='text/javascript'>alert('Password does not match!')</script>");
}
>
<input name"pwd" value="<?php echo $pwd; ?>">
<input name"pwd2" value="<?php echo $pwd2; ?>">
答案 2 :(得分:0)
如果您希望其他输入字段在提交后不为空,则应使用php尝试此操作。 我们假设您的输入字段是用户名。
$username = $_POST['username'];
<input type="text" name="username" value="<?php echo htmlentities($username); ?>">
当您使用此功能时,单击确定并获取警报后,您的用户名字段将不会为空。您输入的值将显示在文本字段中。
答案 3 :(得分:0)
尝试使用此代码来解决您的问题。
$username = $_POST['username'];
$password = $_POST['password'];
<input type="text" name="username" value="<?php echo htmlentities($username);
?>">
<input type="password" name="password">