注册 登录
编程论坛 ASP.NET技术论坛

关于2个文本框及数据库的问题

刘小芳 发布于 2007-06-05 20:58, 661 次点击
我就是想问一下,在一个页面,有2个文本框,当在第一个文本框中输入一个名字后,把鼠标在别处点一下或点TAB键,第2个文本框就显示出他的年龄,这个表的设计是这样的,2个字段,一个是姓名,一个是年龄,意思就是输入姓名,当光标离开第一文本框的时候,下面一个文本框显示年龄,这个怎么搞啊,今天我整了半天都想不出思路来,请各位哥哥姐姐帮帮忙麻
8 回复
#2
川流不息2007-06-06 08:14
你要用ajax技術才行。
#3
川流不息2007-06-06 08:16
在第一個文本框的失去焦點事件中去做。
#4
刘小芳2007-06-06 08:27

着了,ajax技術我可从来没有碰过也,怎么搞也

#5
川流不息2007-06-06 08:36
那你就。找書看吧,網上到處都有得搜。我看看我這有沒有資料。回頭搜出來了給你貼上。
#6
川流不息2007-06-06 08:44

var request;
var queryString;
var arryDrplst=new Array();

function sendData()
{
var postStr=document.all.文本框名字.value;
var url="../你的頁面名.aspx?name="+postStr ;
httpRequest("POST",url,true);
}

function httpRequest(reqType,url,asynch)
{
if(window.XMLHttpRequest)//如果是IE7+瀏覽器,使用內嵌XMLHttpRequest对象。
{
request = new XMLHttpRequest( );
}
else if (window.ActiveXObject)//如果是IE7版本以下的瀏覽器
{
request=new ActiveXObject("Msxml2.XMLHTTP");
if (! request)//如果對象為空
{
request=new ActiveXObject("Microsoft.XMLHTTP");
}
}

if(request)//如果對象不為空
{
initReq(reqType,url,asynch);
}
else
{
alert('錯誤信息述,你自己寫!');
}
}

function initReq(reqType,url,isAsynch)
{
request.onreadystatechange=handleResponse;//當對象只讀狀態改變的時候
request.open(reqType,url,isAsynch);
request.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8");
request.send(queryString);
}




function handleResponse()
{
if(request.readyState == 4)
{
if(request.status == 200)
{
var resp = request.responseText;
var oDoc=new ActiveXObject("MSXML2.DOMDocument");//定義XML文檔對象
oDoc.loadXML(resp);//將XML文件的內容加載到xmldom對象中
var root=oDoc.documentElement;//直接加載時獲得根節點
//
for (var i = 0; i<root.childNodes.length;i++)
{
//selectSingleNode("xxx")-->此方法會傳回第一個符合的節點對象,如果沒有符合的節點,傳回null
if (root.childNodes[i].selectSingleNode("AGE")!=null )
{
var varAGE = root.childNodes[i].selectSingleNode("AGE").text;
document.all.第二個文本框.value = varAGE;
}
}
}
}

[此贴子已经被作者于2007-6-6 8:54:19编辑过]

#7
川流不息2007-06-06 08:53

在Page_Load中:
If Me.Request("name") <> Nothing Then '從客戶端返回的數據

Dim strGetClientValue As String = Me.Request("name")
getAGE(strGetClientValue)

End If



Private Sub getAge(ByVal strGetClientValue As String)
Try
Dim dtPostedTable As DataTable = GetData(strGetClientValue)
'得到要傳送到客戶端的groupname要邦定的值,GetData是你自己寫的方法,用來得到一個DataTable.

Dim dsPosted As New DataSet("Person")
dsPosted.Tables.Add(dtPostedTable)

Dim strPersonReturnXml As String = "<?xml version=" + Chr(34) + "1.0" + Chr(34) + " ?> " + Chr(13) + dsPosted.GetXml() '發送到客戶端的xml
Response.Write(strPersonReturnXml )
Response.End()
Catch ex As Exception
End Try
End Sub

#8
刘小芳2007-06-06 12:03
这是什么语言写的哇,
#9
川流不息2007-06-06 12:18

暈死,第一個是JS,第二個是VB.NET,你把裡面的改成ASP.NET就可以了,很好改的,只是語法不同。

1