我正在尝试建立一个基本验证的评论系统,其中答复不能为空(0个字符)。
当用户点击回复按钮时,系统将响应AJAX调用以显示表单(Textarea)。当用户提交表单并且textarea为空时,表单下方将显示一条错误消息。我的问题是表单在用户提交表单后立即消失,并且不允许我显示错误消息。
如何在所有验证成功之前停止HTML表单消失?
的index.php:
<script>
$(document).ready(function(){
$(".replyText").click(function(){
$.ajax({
type: "GET",
url: "reply_ajax.php",
async: false,
success: function(text){
response = text;
}
});
$(this).after(response);
});
});
</script>
reply_ajax.php:
<div class="replydiv">
<textarea rows='4' cols='50' form='replyform' name='reply'>
</textarea>
<form id='replyform' method='post'>
<input type='submit' name='submit' class='submit'>
<input type='submit' name='cancel' value='Cancel'>
</form>
</div>
<script>
$(function(){
$(".submit").click(function(){
if($(this).closest('textarea').val() == "")
$(".comments").append("Please enter a reply!");
});
});
</script>
答案 0 :(得分:3)
您可以使用e.preventDefault()
来阻止回发,例如:
$(function(){
$(".submit").click(function(e){
if($(this).closest('textarea').val() == ""){
$(".comments").append("Please enter a reply!");
e.preventDefault()}
});
});