仅在发生错误时调用div显示错误消息

时间:2015-10-29 04:54:11

标签: javascript php html css

在此代码中,我显示javascript错误,如果javascript被禁用php将起作用,错误消息将由div显示在底部,以便是否出错发生与否,div将始终存在,但仅在出现错误时才显示消息。我希望只有在发生错误时才应调用div,因为它会导致样式错误消息出现问题。

<script type="text/javascript">
    $(document).ready(function() {
        $('#submit').click(function() {
            var title = $('#title').val();
            var body = $('#body').val();
            if(title.length<5) {
                $('#er').html('Error mesg');
                return false;
            }
            if(body.length<500) {
                $('#er').html('error msg');
                return false;
            }
        });
    });
</script>
<?php
    error_reporting('E_ALL ^ E_NOTICE');
    if(isset($_POST['submit'])) {
        $title=$_POST['title'];
        $body=$_POST['body'];
        if (strlen($title) < 5) {
           $er = "Title must be of minimum 5 characters";
        }
        else if (strlen($body) <500 ) {
           $er = "Body must be of minimum 500 characters";
        }
        else {
      // pdo statement to insert data in db

        if ($statement->rowCount() == 1) {
           $er = "Congratulations, successfully posted.";
        }
        else {
           print_r($db->errorInfo());
        }
    }
}?> 

<form action="" method="post">
<fieldset>
<legend>Write post</legend>
<label>Title:</label> 
<input type="text" name="title" id="title"><br />
<label>Body:</label> 
<textarea name="body" id="body"></textarea><br />
<input type="submit" id="submit" name="submit" value="Post"/>
</fieldset>
</form>
<div id="er"><?php echo $er; ?></div>

我尝试使用以下代码替换div,但现在没有显示错误消息,似乎没有div

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

2 个答案:

答案 0 :(得分:0)

尝试替换php部分

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

答案 1 :(得分:0)

您可能已在代码中的某处定义了$er。由于此if ($er) { // show hide div code }没有响应。

或尝试在文档顶部定义$er = null$er = "",并在$er != null$er != ""

时显示错误div
$er = null;

if (isset($_POST['submit'])) {
   // your code
}

在html

if ($er != null) {
   echo "<div id='er'> $er </div>";
}