一表单中能否输入完一个文本框后,其他指定的几个文本框能从SQL记录中返回相应的记录值??

时间:2022-09-22 19:13:14
    比如在一表单中,有几个文本框,
       在一个文本框是填:物料代码,
         一个文本框要填:物料名称,
         一个文本框要填:颜色,
         一个文本框要填:单位

     这些文本框内容都是对应一个数据库的表的字段内容,
     要求:在打开这个数据库记录集的前提下,输入完物料代码文本框后(也没有按提交按钮),要在其他文本框内,自动从记录集中弹出相应的字段内容值。

     实现这个目的,要怎么做??希望能个代码来参考?谢谢!

9 个解决方案

#1


可以的,使用AJAX实现。
实现思路:
物料代码的那个文本框有一个鼠标离开事件(JS),里面调用AJAX从数据库获取到其他三个值,之后返回来,再用JS给其他3个空间赋值,就OK了。
无刷新,无提交按钮。
具体代码,去网站上找一个差不多的例子,扒它的!

#2


输入完内容后,提供一个回车键的响应事件,在此事件中执行查询和输出内容到其它文本框。

#3


onblur 或者 onchange 都可以

#4


   onblur 或者 onchange 都可以的话,能否也给段代码来参考??谢谢!

#5


    输入完一个文本框后,能否象VB中一样敲回车后,能让焦点自动到下一个文本框中???
    
    这样子的功能实现吗????请也给个代码来看看

#6


1:自动从记录集中弹出相应的字段内容值

<form>
<select name="id" onchange="getInfo(this.options[this.selectedIndex].value)"><option>1</option><option>2</option><option>3</option></select>
</form>

<script>
function getInfo(id){
   // 使用 ajax 技术,进行无刷更新表单内容
   // 或使用隐藏的 iframe ,使其中的地址知道数据读取文件,并在读取后使用 js 更新当前表单
}
</script>


2:输入完一个文本框后,能否象VB中一样敲回车后,能让焦点自动到下一个文本框中???

http://topic.csdn.net/u/20100617/15/752888ae-36b6-4d9a-9461-bab62f524f46.html

#7


    在打开这个数据库记录集的前提下,输入完物料代码文本框后(也没有按提交按钮),要在其他文本框内,自动从记录集中弹出相应的字段内容值。
    比如下面代码,我是想当输入完物料代码(文本框TEXTFILDS为:wldm)填写后,只要物料名称获得焦点后,就执行ser("wldm")下面代码,输出值.ser函数的代码如下:

<% Function ser(wldm2)
   Dim fRs,fSql
   connstr=" PROVIDER=SQLOLEDB;DATA SOURCE=(local);UID=sa;PWD=;DATABASE=456"
   set conn=server.CreateObject("ADODB.connection")
   conn.open connstr    
   exec="select * from 结存 where 代码='"&wldm2&"'" 
   Set rs=server.CreateObject("adodb.recordset")
   rs.open exec,conn,1,1 

  If fRs.Eof And fRs.Bof Then
   ser = ""
  Else
   ser = rs("")
   return ser
  End If  
  rs.Close
  Set rs = nothing
  conn.close
  Set conn = nothing
 End Function      
 %>
但测试结果,是毫无反应,不知是错在哪里??请高手指教
谢谢!

#8


<% 


 Function ser(wldm2)
  Dim fRs,fSql
  connstr=" PROVIDER=SQLOLEDB;DATA SOURCE=(local);UID=sa;PWD=;DATABASE=456"
  set conn=server.CreateObject("ADODB.connection")
  conn.open connstr   
  exec="select * from 结存 where 代码='"&wldm2&"'"  
  Set rs=server.CreateObject("adodb.recordset")
  rs.open exec,conn,1,1  

  If fRs.Eof And fRs.Bof Then
  价钱= ""
  单位= ""
  Else
  价钱= rs("价钱")
  单位= rs("单位")
  End If   
  Response.Write("document.getElementById('jq').value=价钱"
   Response.Write("document.getElementById('dw').value=单位"
  rs.Close
  Set rs = nothing
  conn.close
  Set conn = nothing
 End Function   


  %>
<form action="" method="get">
  <input type="text" name="wl" onChange="ser(wldm2)" />
物料<br>
<input type="text" name="jq"  id="jq" />
价钱<br>
<input type="text" name="dw" id="dw" />
单位<br>
<input type="submit" name="Submit" value="提交" />
</form>

基本就这样  你可以改改 

#9


你的那个函数,是服务器端的,js 无法直接调用,可以通过 ajax,或者嵌套 iframe 的方式来取得这个函数返回的数据


<!-- client -->
<form>
<input type="text" name="wldm" onchange="getInfo(this.value)" />
<input type="text" name="rs1" />
<input type="text" name="rs2" />
<input type="text" name="rs3" />
</form>
<iframe frameborder="0" width="0" height="0" border="0" name="getInfoFrm" id="getInfoFrm"></iframe>
<script>
function getInfo(id){
   getInfoFrm.location = 'getInfo.asp?ID=' + id;
}
</script>



' getInfo.asp
' ....
set RS = conn.Execute("select * from 结存 where 代码='" & request("ID") & "'")
if RS.Eof then
    response.write "<script>alert('未找到符合条件的信息。');</script>"
else
    response.write "<script>parent.document.forms[0].elements[1].value = '" & RS(1) & "';parent.document.forms[0].elements[2].value = '" & RS(2) & "';parent.document.forms[0].elements[3].value = '" & RS(3) & "';</script>"
end if

#1


可以的,使用AJAX实现。
实现思路:
物料代码的那个文本框有一个鼠标离开事件(JS),里面调用AJAX从数据库获取到其他三个值,之后返回来,再用JS给其他3个空间赋值,就OK了。
无刷新,无提交按钮。
具体代码,去网站上找一个差不多的例子,扒它的!

#2


输入完内容后,提供一个回车键的响应事件,在此事件中执行查询和输出内容到其它文本框。

#3


onblur 或者 onchange 都可以

#4


   onblur 或者 onchange 都可以的话,能否也给段代码来参考??谢谢!

#5


    输入完一个文本框后,能否象VB中一样敲回车后,能让焦点自动到下一个文本框中???
    
    这样子的功能实现吗????请也给个代码来看看

#6


1:自动从记录集中弹出相应的字段内容值

<form>
<select name="id" onchange="getInfo(this.options[this.selectedIndex].value)"><option>1</option><option>2</option><option>3</option></select>
</form>

<script>
function getInfo(id){
   // 使用 ajax 技术,进行无刷更新表单内容
   // 或使用隐藏的 iframe ,使其中的地址知道数据读取文件,并在读取后使用 js 更新当前表单
}
</script>


2:输入完一个文本框后,能否象VB中一样敲回车后,能让焦点自动到下一个文本框中???

http://topic.csdn.net/u/20100617/15/752888ae-36b6-4d9a-9461-bab62f524f46.html

#7


    在打开这个数据库记录集的前提下,输入完物料代码文本框后(也没有按提交按钮),要在其他文本框内,自动从记录集中弹出相应的字段内容值。
    比如下面代码,我是想当输入完物料代码(文本框TEXTFILDS为:wldm)填写后,只要物料名称获得焦点后,就执行ser("wldm")下面代码,输出值.ser函数的代码如下:

<% Function ser(wldm2)
   Dim fRs,fSql
   connstr=" PROVIDER=SQLOLEDB;DATA SOURCE=(local);UID=sa;PWD=;DATABASE=456"
   set conn=server.CreateObject("ADODB.connection")
   conn.open connstr    
   exec="select * from 结存 where 代码='"&wldm2&"'" 
   Set rs=server.CreateObject("adodb.recordset")
   rs.open exec,conn,1,1 

  If fRs.Eof And fRs.Bof Then
   ser = ""
  Else
   ser = rs("")
   return ser
  End If  
  rs.Close
  Set rs = nothing
  conn.close
  Set conn = nothing
 End Function      
 %>
但测试结果,是毫无反应,不知是错在哪里??请高手指教
谢谢!

#8


<% 


 Function ser(wldm2)
  Dim fRs,fSql
  connstr=" PROVIDER=SQLOLEDB;DATA SOURCE=(local);UID=sa;PWD=;DATABASE=456"
  set conn=server.CreateObject("ADODB.connection")
  conn.open connstr   
  exec="select * from 结存 where 代码='"&wldm2&"'"  
  Set rs=server.CreateObject("adodb.recordset")
  rs.open exec,conn,1,1  

  If fRs.Eof And fRs.Bof Then
  价钱= ""
  单位= ""
  Else
  价钱= rs("价钱")
  单位= rs("单位")
  End If   
  Response.Write("document.getElementById('jq').value=价钱"
   Response.Write("document.getElementById('dw').value=单位"
  rs.Close
  Set rs = nothing
  conn.close
  Set conn = nothing
 End Function   


  %>
<form action="" method="get">
  <input type="text" name="wl" onChange="ser(wldm2)" />
物料<br>
<input type="text" name="jq"  id="jq" />
价钱<br>
<input type="text" name="dw" id="dw" />
单位<br>
<input type="submit" name="Submit" value="提交" />
</form>

基本就这样  你可以改改 

#9


你的那个函数,是服务器端的,js 无法直接调用,可以通过 ajax,或者嵌套 iframe 的方式来取得这个函数返回的数据


<!-- client -->
<form>
<input type="text" name="wldm" onchange="getInfo(this.value)" />
<input type="text" name="rs1" />
<input type="text" name="rs2" />
<input type="text" name="rs3" />
</form>
<iframe frameborder="0" width="0" height="0" border="0" name="getInfoFrm" id="getInfoFrm"></iframe>
<script>
function getInfo(id){
   getInfoFrm.location = 'getInfo.asp?ID=' + id;
}
</script>



' getInfo.asp
' ....
set RS = conn.Execute("select * from 结存 where 代码='" & request("ID") & "'")
if RS.Eof then
    response.write "<script>alert('未找到符合条件的信息。');</script>"
else
    response.write "<script>parent.document.forms[0].elements[1].value = '" & RS(1) & "';parent.document.forms[0].elements[2].value = '" & RS(2) & "';parent.document.forms[0].elements[3].value = '" & RS(3) & "';</script>"
end if