Javascript 如果没有错误,如何隐藏带有错误消息的'div'?

Javascript 如果没有错误,如何隐藏带有错误消息的'div'?,javascript,php,jquery,css,validation,Javascript,Php,Jquery,Css,Validation,下面是服务器端和客户端验证表单。在这里,我使用divid=er>显示未遵守要求的错误消息。现在,diver将始终存在,从而导致我的样式问题。我希望errordiv仅在出现错误时显示,否则不显示 <script type="text/javascript"> $(document).ready(function() { $('#submit').click(function() { var firstname = document.getElem

下面是服务器端和客户端验证表单。在这里,我使用
divid=er>
显示未遵守要求的错误消息。现在,
div
er
将始终存在,从而导致我的样式问题。我希望error
div
仅在出现错误时显示,否则不显示

<script type="text/javascript">
    $(document).ready(function() {
    $('#submit').click(function() {
            var firstname = document.getElementById('fn').value;
            var lastname = document.getElementById('ln').value;
            var password = document.getElementById('pswd').value;
     if (firstname.length < 2 || firstname.length > 11) {
     $('#er').html('First name must be between 1 to 11 characters long');
     return false;
     }
     else if (lastname.length < 2 || lastname.length > 11) {
     $('#er').html('Last name must be between 1 to 11 characters long');
     return false;
     }
     else if (password == "") {
     $('#er').html('Fill your password');
     return false;
     }
     });
     });
</script>

<?php
error_reporting('E_ALL ^ E_NOTICE');
if(isset($_POST['reg'])){
$fn = ucfirst($_POST['fname']);
$ln = ucfirst($_POST['lname']);
$pswd = $_POST['password'];

if( strlen($fn) < 2 || strlen($fn) > 11 ) {
  $er = 'First name should be 2 to 11 characters long';
}
elseif( strlen($ln) < 2 || strlen($ln) > 11 ) {
  $er = 'Last name should be 2 to 11 characters long';
}
elseif( $pswd == "" ) {
  $er = 'Enter your password';
}
else{
$pswd = password_hash($pswd, PASSWORD_DEFAULT);
$stmt = $db->prepare("INSERT INTO users (first_name,last_name,password) VALUES (:first_name,:last_name,:password)");  
$stmt->execute( array(':first_name'=>$fn,':last_name'=>$ln,':password'=>$pswd));
} 

<form action="register.php" method="post" class="register">
    <input type="text" name="fname" id="fn" placeholder="First Name"/>
    <input type="text" name="lname" id="ln" placeholder="Last Name"/>
    <input type="password" name="password" id="pswd" placeholder="Password"/>
    <input type="submit" id="submit" name="reg" value="Create">
 <div id='er'><?php echo $er; ?></div>
</form>

$(文档).ready(函数(){
$(“#提交”)。单击(函数(){
var firstname=document.getElementById('fn').value;
var lastname=document.getElementById('ln').value;
var password=document.getElementById('pswd')。值;
如果(firstname.length<2 | | firstname.length>11){
$('#er').html('名字长度必须在1到11个字符之间');
返回false;
}
else if(lastname.length<2 | | lastname.length>11){
$('#er').html('姓氏长度必须介于1到11个字符之间');
返回false;
}
else if(密码==“”){
$('#er').html('填写您的密码');
返回false;
}
});
});
试过这样的东西吗

<?php
 if ($er!=""){
 echo "<div class='er'>".er."</div>";
 }
 ?>

如果没有错误,则隐藏该div。在“
er
”div中,写入
style='display:none'

  <div id='er' style='display:none'><?php echo $er; ?></div> 

这里,如果有错误。显示该分区。其他人则隐藏该分区

$(document).ready(function() {
    $('#submit').click(function() {
          var firstname = document.getElementById('fn').value;
          var lastname = document.getElementById('ln').value;
          var password = document.getElementById('pswd').value;
           if (firstname.length < 2 || firstname.length > 11) {
                $('#er').show();
                $('#er').html('First name must be between 1 to 11 characters long');
                return false;
           }
           else if (lastname.length < 2 || lastname.length > 11) {
                $('#er').show();
                $('#er').html('Last name must be between 1 to 11 characters long');
                return false;
           }
           else if (password == "") {
                $('#er').show();
                $('#er').html('Fill your password');
                return false;
           }
           else {
                $('#er').hide();
           }
     });
});
$(文档).ready(函数(){
$(“#提交”)。单击(函数(){
var firstname=document.getElementById('fn').value;
var lastname=document.getElementById('ln').value;
var password=document.getElementById('pswd')。值;
如果(firstname.length<2 | | firstname.length>11){
$('#er').show();
$('#er').html('名字长度必须在1到11个字符之间');
返回false;
}
else if(lastname.length<2 | | lastname.length>11){
$('#er').show();
$('#er').html('姓氏长度必须介于1到11个字符之间');
返回false;
}
else if(密码==“”){
$('#er').show();
$('#er').html('填写您的密码');
返回false;
}
否则{
$('#er').hide();
}
});
});

如果没有错误,则隐藏该div。在“
er
”div中,写入
style='display:none'

  <div id='er' style='display:none'><?php echo $er; ?></div> 

这里,如果有错误。显示该分区。其他人则隐藏该分区

$(document).ready(function() {
    $('#submit').click(function() {
          var firstname = document.getElementById('fn').value;
          var lastname = document.getElementById('ln').value;
          var password = document.getElementById('pswd').value;
           if (firstname.length < 2 || firstname.length > 11) {
                $('#er').show();
                $('#er').html('First name must be between 1 to 11 characters long');
                return false;
           }
           else if (lastname.length < 2 || lastname.length > 11) {
                $('#er').show();
                $('#er').html('Last name must be between 1 to 11 characters long');
                return false;
           }
           else if (password == "") {
                $('#er').show();
                $('#er').html('Fill your password');
                return false;
           }
           else {
                $('#er').hide();
           }
     });
});
$(文档).ready(函数(){
$(“#提交”)。单击(函数(){
var firstname=document.getElementById('fn').value;
var lastname=document.getElementById('ln').value;
var password=document.getElementById('pswd')。值;
如果(firstname.length<2 | | firstname.length>11){
$('#er').show();
$('#er').html('名字长度必须在1到11个字符之间');
返回false;
}
else if(lastname.length<2 | | lastname.length>11){
$('#er').show();
$('#er').html('姓氏长度必须介于1到11个字符之间');
返回false;
}
else if(密码==“”){
$('#er').show();
$('#er').html('填写您的密码');
返回false;
}
否则{
$('#er').hide();
}
});
});

您可以将错误div的显示设置为无。 这会将元素从DOM中取出,就好像它从未存在过一样

CSS:

然后,当发生错误时,您可以更改JS中的显示属性:

$('#er').css("display","block");
并设置错误消息:

$('#er').html('First name must be between 1 to 11 characters long');

您可以将error div的显示设置为none。 这会将元素从DOM中取出,就好像它从未存在过一样

CSS:

然后,当发生错误时,您可以更改JS中的显示属性:

$('#er').css("display","block");
并设置错误消息:

$('#er').html('First name must be between 1 to 11 characters long');

空时为元素编写css选择器,并设置display:none

div{
背景颜色:浅蓝色;
利润率:10px;
显示:内联块;
高度:20px;
}
.演示:空{
显示:无;
}
1

其他
为空时的元素编写css选择器,并设置display:none

div{
背景颜色:浅蓝色;
利润率:10px;
显示:内联块;
高度:20px;
}
.演示:空{
显示:无;
}
1

其他
在div周围放置if?如果显示错误,如果不显示,则不将其设置为显示无。如果有错误就显示它。在div周围放一个if?如果显示错误,如果不显示,则不将其设置为显示无。如果有错误,请显示它。谢谢您的答案是快速解决方案,只想知道所有浏览器都支持
空属性吗?我添加了一个关于它的链接。很高兴它有帮助!谢谢你的回答是快速解决方案,只想知道所有浏览器都支持
空属性吗?我已经添加了一个关于它的链接。很高兴它有帮助!