ASP动态下拉菜单向文本框赋值技巧解析

5星 · 超过95%的资源 需积分: 31 113 下载量 108 浏览量 更新于2024-11-26 3 收藏 1017B TXT 举报
"ASP 实现动态下拉菜单赋值给文本框的方法主要涉及JavaScript和HTML交互,以及ASP的后台处理。下面将详细讲解这两种实现方式。 第一种方式是利用JavaScript事件监听来实现实时赋值。当用户在下拉菜单(`<select>`元素)中选择一个选项时,触发`onChange`事件,调用JavaScript函数`oclick()`。该函数获取当前选中的选项值,并将其赋值给指定的文本框(`<input type="text">`)。具体代码如下: ```html <script> function oclick() { document.form1.a1.value = document.form1.select.value; } </script> <form name="form1" method="post" action=""> <select name="select" onChange="oclick();"> <option value="1" selected>1</option> <option value="2">2</option> <option value="3">3</option> </select> <input type="text" name="a1"> </form> ``` 在这个例子中,当用户更改下拉菜单的选择后,文本框`a1`的值会立即更新为所选的选项值。 第二种方式则是在下拉菜单失去焦点(`onBlur`事件)时,将选定的值传递给文本框,同时可能涉及ASP的后台处理。用户在下拉菜单中选择一个选项后,一旦离开下拉菜单(例如点击文本框或页面其他区域),`onBlur`事件触发,执行JavaScript函数,将选中项的值赋给文本框。同时,可以提交表单到ASP的后台脚本(如`abc.asp`)进行进一步处理。示例代码如下: ```html <form name="search" method="post" action="abc.asp"> <input name="key" id="key" value=""> <select name="type" id="type" onBlur="document.search.key.value=this.value;"> <option value="1"></option> <option value="2"></option> <option value="3">搜索</option> </select> <input type="submit" name="Submit" value="查询"> </form> ``` 在这种情况下,当用户从下拉菜单移开焦点,文本框`key`的值会更新为所选的选项值,同时按下“查询”按钮可以将这些值提交给`abc.asp`处理。 ASP(Active Server Pages)是微软的一种服务器端脚本技术,用于创建动态网页。在上述两种方式中,虽然JavaScript负责前端交互,但ASP可以在后台接收并处理用户提交的数据,比如根据用户选择的类型进行特定的数据库查询或业务逻辑处理。 总结来说,ASP实现动态下拉菜单赋值给文本框可以通过两种方法:一是利用JavaScript实时更新文本框的值;二是结合ASP的后台处理,在用户完成选择后提交数据。这两种方法都涉及到前端交互和后端处理的协调,以提供更好的用户体验和功能实现。"
2013-04-11 上传
ASP 加数据库 四级菜单联动 var m_oXMLDoc = new ActiveXObject("Microsoft.XMLDOM"); var m_sBaseSrc = "Tree.asp?ParentCode="; //源码爱好者(http://www.codefans.net) function BindSelect( strXMLSrc , objSelectName, defaultVal) { m_oXMLDoc.async = true; m_oXMLDoc.onreadystatechange = Function( "fnLoadComplete('" + objSelectName + "', '" + defaultVal + "');" ); m_oXMLDoc.load( strXMLSrc ); } function fnLoadComplete(objSelectName, defaultVal) { var objSelect = document.all[objSelectName]; var aryXMLNodes; var node; if (objSelect == null) return; try { var iReadyState = m_oXMLDoc.readyState; } catch(e) { return; } if( iReadyState != 4 ) return; if( m_oXMLDoc != null && m_oXMLDoc.xml != "" ) { objSelect.length = 0; aryXMLNodes = m_oXMLDoc.documentElement.selectNodes("TreeNode"); objSelect.options[0] = new Option("==全部=="); for (var i=0; i 1) { SetSelectedValue(objSelect, defaultVal) } if(objSelect.ChildSelectName != null) { objSelect.onchange = Function( "var val = this.options[this.selectedIndex].value;BindSelect(m_sBaseSrc+val, '"+objSelect.ChildSelectName+"', '"+defaultVal+"');if(val!='')document.all.MaterialClassCode.value=val;" ); objSelect.fireEvent("onchange"); } else { objSelect.onchange = Function( "var val = this.options[this.selectedIndex].value;if(val!='')document.all.MaterialClassCode.value=val;" ); } } } function InitSelect(defaultVal) { document.all.MaterialClassCode.value = ""; BindSelect( m_sBaseSrc + "00", "MaterialClass1", defaultVal); } function Equality(val1,val2) { if (val1.length < val2.length || val2 == "") return false; return (val1.substr(0,val2.length) == val2) } function SetSelectedValue(oSel,val) { if (val == null) return; for(var i=0; i<oSel.length; i++) { if (Equality(val, oSel.options[i].value)) { oSel.selectedIndex = i; if(oSel.ChildSelectName == null) oSel.fireEvent("onchange"); break; } } } window.onload = function(){InitSelect();}