它不一定是一个div,它可以是任何东西,一个文章部分......
我正在为一个大学项目建立一个网站,该网站类似于DropBox(文件托管网站)。非商业!
我现在正在注册页面上,我想要做的是在用户按下提交按钮后我想要更改错误输入的字段旁边的div标签的内容。
例如,如果用户输入的密码长度小于3个字符,则" X"将显示在密码字段旁边的div标签中,并且在提交按钮下将显示一条消息,说明"密码必须超过3个字符。"
这是代码的一部分,而不是发布所有代码,因为它太长了。
<form action="register.php" method="post" >
<section>
<article>Password*</article>
<input type="text" name="password" id="password" required="required"/>
<div id="right_or_wrong"></div> <!-- tick - ✓ , wrong - X -->
</section>
<input type="submit" name="register" value="Register" />
<div id="error_msg"></div>
</form>
我试图搜索如何做到这一点,但我找不到任何东西,我只是无法弄清楚。
我知道我可以将PHP代码放在div标签中并从那里进行评估,但我想将代码放在表单底部以使其更整洁。
答案 0 :(得分:1)
因此,在验证表单并查看密码太短的register.php中,您可以设置$password_error = "Password must be more than 3 characters."
之类的变量。
然后你可以重新渲染表单和
<div id="right_or_wrong"><?php echo $password_error; ?></div>
答案 1 :(得分:0)
您可以在使用简单的onsubmit函数将表单发送到服务器之前进行验证:
<script>
function validate(){
// here, check the password and other answers
if( /* check password here */ ){
document.getElementById("right_or_wrong_password").innerHTML="X";
document.getElementById("error_msg").innerHTML="Password must be more than 3 characters.";
return false; // prevent from submitting form
}else if( /* check field1 here */ ){
document.getElementById("right_or_wrong_field1").innerHTML="X";
document.getElementById("error_msg").innerHTML="Error in the field......";
return false; // prevent from submitting form
}else{
return true; // the form can be submitted
}
}
</script>
<form action="register.php" method="post" >
<section>
<article>Password*</article>
<input type="password" name="password" id="password" required="required"/>
<div id="right_or_wrong_password"></div> <!-- tick - ✓ , wrong - X -->
</section>
<input type="submit" name="register" value="Register" onsubmit="validate()" />
<div id="error_msg"></div>
</form>
通过这种方式,您可以验证表单的每个字段(仅限答案结构)。然后总是需要服务器验证。
答案 2 :(得分:-1)
PHP不能单独做到这一点。 PHP是服务器脚本 - 它不能在用户的机器上运行并处理实时事件。
相反,使用Javascript's AJAX并调用将返回文本的php文件。然后,使用Javascript将该文本附加到div或任何您想要的内容。