php提交表单通过后,弹出的对话框怎样在当前页弹出
而不是在空白页弹出?
想实现这样的效果:
而不是空白页弹出:

解决方案 »

  1.   

    如果你的验证用PHP在后端,那么就用Ajax;
    仅供参考:<form name="myform" action="" method="post">
       <p>用户:<input type="text" id="username" name="username" maxsize="20" onChange="nameInfor(this.value)"/>&nbsp;<span id="tip1"></span></p>
       <p>密码:<input type="password" name="password" maxsize="50" />&nbsp;<span id="tip2"></span></p> <input type="button" name="rgt" value="提交" onclick="dosubmit('subInfor')" />
    <input type="button" name="back" value="返回" onclick="dosubmit('back')"/>  </form>
    var xmlHttp; //定义全局变量 function createXMLHttpRequest() {
    //表示当前浏览器不是ie,如ns,firefox
    if(window.XMLHttpRequest) {
    xmlHttp = new XMLHttpRequest();
    } else if (window.ActiveXObject) {
    xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
    }
    } function nameInfor(Obj){
    //alert("Obj-->>"+Obj); //检查输入的用户名
    createXMLHttpRequest();
    url = "../classes/action/loginAction.class.php?user="+Obj+"&ran="+Math.random();
    method = "GET";
    xmlHttp.open(method,url,true);
    xmlHttp.onreadystatechange = checkName;
    xmlHttp.send(null);
    }
    function checkName(){
    if (xmlHttp.readyState == 4){
    if (xmlHttp.status == 200){
    var text = xmlHttp.responseText;
    //alert("text-->>"+text);
    Obj = document.getElementById("tip1");
    Obj.innerHTML = text;
    }else {
    alert("response error code:"+xmlHttp.status); //输出响应出错的代码
    }
    }
    }
    //检索用户名
     if (isset($_GET['user'])){
      $name = $_GET['user'];
      $user->ContrastName($name);  //数据库查询,返回结果
     }如果你的验证用js在前端,那么直接加alert;
      

  2.   

    function login(name, pass)
    {
       $.ajax(
     {
      'type':'post',
      'url':'http://xxx.xx',
      'data':'name=' + name + '&pass=' + pass,
      'success':function(msg)
      {
        if(msg == 'error')
           alert('对不起!此账号不存在'); 
        else
        {
             ...
        }
      }
    })}
    name:<input type="text" name="name"  id="name"/><br />
    pass:<input type="text" name="pass"  id="pass" />
    <input type="button" onclick="login($('#name').val(), $('#pass').val());" value="登录"/>
      

  3.   

    哦哦你说的是异步提交吧?
    用ajax不怎么难学
      

  4.   

    ajax提交数据后 取得返回的部分 在弹出div中显示内容.
      

  5.   

    你是在php页面直接echo "<script>alert('XXX');</script>"吧,这个alert就是直接在php页面上显示的,而你的php页面上并没有html,所以会显示空白。还是通过ajax把结果返回到html页面,再弹层吧。
      

  6.   

    大家的答案都很一致嘛,就是用ajax做