在此代码中,我显示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>';
}
?>
答案 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 != ""
$er = null;
if (isset($_POST['submit'])) {
// your code
}
在html
if ($er != null) {
echo "<div id='er'> $er </div>";
}