JQuery load (Ajax) and PHP validation



好吧,我有一个小问题。我有一个页面,其中有一个div。当页面加载时,它将在Div中加载另一页。为此,我使用了jQuery Load函数,即Ajax,以下代码:

$(document).ready(function() {
    $(".div").hide().load("page.php").fadeIn(5000);
});

很好,一切都很好,当页面加载并出现到Div时,我没有任何问题。

现在,在此页面中,它出现在DIV中,它具有文本方面。该页面具有TextArea的PHP验证代码。如果Textarea为空,则用户会在发送之前获取一条消息来填写。这是下面的PHP代码:

if ($_SERVER['REQUEST_METHOD'] == 'POST') {
if (isset($_POST['textfirst'])) {
$textarea = strip_tags($_POST['textfirst']);
if (empty($textarea)) {
echo "You have to fill your answer";    
} else {
bla bla bla bla bla......
}
}
}

再次在这里,没有什么错,PHP验证正常工作。

问题出现,当表单为空并提交时,我的页面将页面加载在DIV中,并且不会出现PHP中的错误消息。为什么?换句话说,如果用户还没有填写文本方面,则他/她会收到填写消息的消息,但是当用户将表单提交为空时,它会重新加载该页面,该页面再次加载了Div中的另一页,因此,没有错误消息出现。

谢谢!

这取决于对加载到DIV的形式的目标是什么。听起来您正在发布原始页面,该页面没有。处理逻辑。本质上只能重新加载原始页面。

通过AJAX加载的DIV中的表单将需要指向进行实际表单处理的页面。您不能简单地重新加载原始页面,希望在初始页面加载后通过AJAX加载的页面能够处理您的帖子。

最新更新