急啊!!!
在一个简单的网页中有2个文本框input1和input2,
当在input1中输入一个值如 aaa,
输入完成后,失去焦点时触发事件,使得input1的值aaa传送到一个$username中,
然后根据$uername查询数据库得到$password,将$password显示到input2中间去。
希望不要运用界面跳转。
现在有2个问题,1怎么获取input1的值到$username,运用Javascript的话得到的变量不能查询数据库,但是其他获取全部是页面刚刚进入时input1的空值;
2 事件怎么编写使得input2的值为数据库查询到的记录。用的是MSSQL和Dreamweaver。
各位大哥帮帮忙啊!

解决方案 »

  1.   

    用ajax可以做到这点,很简单的
      

  2.   

    request.html
    ============================================================<script language='javascript'>var xmlHttp;function getXMLHttpRequest(){
      
      if(window.ActiveXObject){
        try {
          xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
        }
        catch(e){
          try{
            xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
          }
          catch(e){
            xmlHttp = false ;
          }
        }
      }
      else if(window.XMLHttpRequest)
        xmlHttp = new XMLHttpRequest();
      return xmlHttp;
    }getXMLHttpRequest();function sendRequest(){
     var xmlHttp = getXMLHttpRequest();
     var input1 = document.getElementById('input1').value; var url = 'response.php'; if (!xmlHttp){
       return false;
      }
      
      xmlHttp.onreadystatechange = getResponse;

      
      xmlHttp.open('POST',url,true);
      xmlHttp.setRequestHeader( "Content-Type", "application/x-www-form-urlencoded;charset=gb2312"); 
      xmlHttp.send('input1='+escape(input1));
    }function getResponse(){
    if(xmlHttp.readyState < 4){
    document.getElementById('input2').value = 'waiting...';
    }
        if(xmlHttp.readyState == 4){
    if(xmlHttp.status == 200){
    response = xmlHttp.responseText;
    document.getElementById('input2').value = unescape(response);
    }
    else
    {
    document.getElementById('input2').value = 'error!';
    }
     }
    }window.onload = function(){
    document.onkeypress = keypress;
    }//兼容ie和firefox
    function keypress(evt){
    var e = evt? evt : window.event;
    if(e.keyCode == 13)
    sendRequest();
    }
    </script>
    input1:<input type="text" id="input1" value="" /><br/>input2:<input type="text" id="input2" value="" />response.php
    =========================================================================================================<?php
    function escape($str) { 
      preg_match_all("/[\x80-\xff].|[\x01-\x7f]+/",$str,$r);
      $ar = $r[0];
      foreach($ar as $k=>$v) { 
        if(ord($v[0]) < 128) 
          $ar[$k] = rawurlencode($v);
        else 
          $ar[$k] = "%u".bin2hex(iconv("GB2312","UCS-2",$v));
      } 
      return join("",$ar);
    } function unescape($str) { 
      $str = rawurldecode($str);
      preg_match_all("/(?:%u.{4})|.+/",$str,$r);
      $ar = $r[0];
      foreach($ar as $k=>$v) { 
        if(substr($v,0,2) == "%u" && strlen($v) == 6) 
          $ar[$k] = iconv("UCS-2","GB2312",pack("H4",substr($v,-4)));
      } 
      return join("",$ar);
    }echo $_POST['input1'];
    ?>