Javascript 服务器端验证结果显示在同一浏览器窗口中

Javascript 服务器端验证结果显示在同一浏览器窗口中,javascript,php,jquery,html,ajax,Javascript,Php,Jquery,Html,Ajax,简单HTML表单: <form action="test.php" method="post" name="my_form" id="my_form" > <input name="c_name" type="text" id="c_name" maxlength="90"/> </form> 使用以下代码测试.php: <?php $name=$_POST['c_name']; if ((!isset($name))

简单HTML表单:

<form action="test.php" method="post" name="my_form" id="my_form" >
    <input name="c_name" type="text" id="c_name"  maxlength="90"/>
 </form>

使用以下代码测试.php:

<?php
    $name=$_POST['c_name'];
    if ((!isset($name)) || ($name==''))
    {
      echo 'Fill in the name';        
    }
    else
    {
      echo $name;
    }
?> 

现在,在提交表格时,我需要以下信息:

1) 不要将当前浏览器窗口保留为PHP以显示相应的消息。我希望表单窗口保持在那里

2) 我不想要一个简单的回复信息。例如,我想要一种更图形化的交互方式,而不是“填充名称”,比如显示一个隐藏的div;换句话说,我想在PHP中编写Jquery并使其执行。有可能吗?怎么可能


我知道我必须使用AJAX,但是我不知道该怎么做!你能给我一些代码让我认识到以上两件事吗?

我相信如果你对这一切都不熟悉,就像你看起来一样,你确实是使用jQuery的最佳人选。这里可以找到一个ajax示例:

本例中的代码是q位扩展的。因为你不仅要检查它是否是空的,而且还要预先匹配它。这意味着您需要确保您的用户发送的内容是您真正想要的(而不是破坏、入侵或注入您的服务器,这一点很重要)

因此,看到这一点,我建议阅读一篇教程,类似这样的内容(快速谷歌搜索):


在进入下一步之前,先熟悉一些基本知识。

以获得想要的效果。我喜欢使用,它使从任何现有表单创建AJAX表单变得容易。然后只需在提交到的.php文件中回显您的结果(提示:您也可以通过样式来回显div。)下面的示例,假设您的页面中包含jQuery表单插件,将使用AJAX提交表单,并将回显结果返回到id=status的div

$(document).ready(function(){
    var status = $('#status');
    $('#my_form').ajaxForm({
        beforeSend: function() {
            status.empty();
        },
        complete: function(xhr) {
            status.html(xhr.responseText);
        }
    });
});

使用JavaScript和/或JQuery对表单进行验证。在完成所有验证和错误消息之前不要提交。这样服务器只需处理,而不必做客户端的事情。这是一个很好的建议,也是正则表达式和学习基础知识。它会比你预期的更快到达你的身边。