<SCRIPT LANGUAGE="JavaScript">
var temp = "<input name='Branch' type='text' id='Branch' size='8' ondblclick='doit()'/>";
var val;
function doit(){
hf.location.href="test_1.asp?"+escape(new Date());
}
function showsel(obj){
val = document.forms[0].Branch.value;
var s = "<select name='Branch' onclick='dostop()' onchange='dosel(this);' onblur='dosel(this);'><option>请选择</option>";
for(var i=0;i<obj.options.length;i++){
s += "<option value='" + obj.options[i].value + "'>" + obj.options[i].text + "</option>";
}
s += "</select>";
document.getElementById("pad").innerHTML = s;
document.body.attachEvent("onclick", doclick);
}
function dostop(){
event.cancelBubble = true;
}
function doclick(){
if(document.forms[0].Branch.tagName=="SELECT"){
dosel(document.forms[0].Branch);
document.body.detachEvent("onclick", doclick);
}
}
function dosel(obj){
if(obj.selectedIndex!=0){
val = obj.options[obj.selectedIndex].value;
}
document.getElementById("pad").innerHTML = temp;
document.forms[0].Branch.value = val;
}
</script>
<form>
<table>
<tr>
<td id="pad">
<input name="Branch" type="text" id="Branch" size="8" ondblclick="doit()"/>
</td>
</tr>
</table>
</form><iframe name="hf" style="display:none"></iframe>test_1.asp
<!--#include file="conn.asp"-->
<script>
window.onload=function(){
parent.showsel(document.forms[0].Branch);
}
</script>
<form>
<%
sql1 = "select * from Branchs"
set rs2=server.createobject("adodb.recordset")
rs2.open sql1,conn,1,1
if rs2.eof and rs2.bof then
response.write "请先添加单位名称。"
else
%>
<select name="Branch" size="1" id="Branch" >
<%
do while not rs2.eof
%>
<option value="<%=trim(rs2("Branch"))%>"><%=trim(rs2("Branch"))%></option>
<%
rs2.movenext
loop
end if
rs2.close
set rs2=nothing
%>
</select>
<form>以上代码能实现文本框下拉但是如果我的文本框是个列表,客户一次要输入很多条记录的情况下,我怎么去做呢?例:<form id="form1" name="form1" method="post" action=""> <input name="Branch1" type="text" id="Branch1" /><br>
<input name="Branch2" type="text" id="Branch2" /><br>
<input name="Branch3" type="text" id="Branch3" /><br>
<input name="Branch4" type="text" id="Branch4" /><br>
<input name="Branch5" type="text" id="Branch5" /><br>
<input name="Branch6" type="text" id="Branch6" /><br>
<input name="Branch7" type="text" id="Branch7" /><br>
<input name="Branch8" type="text" id="Branch8" /><br>
<input name="Branch9" type="text" id="Branch9" /><br>
<input name="Branch10" type="text" id="Branch10" /><br>
</form>
var temp = "<input name='Branch' type='text' id='Branch' size='8' ondblclick='doit()'/>";
var val;
function doit(){
hf.location.href="test_1.asp?"+escape(new Date());
}
function showsel(obj){
val = document.forms[0].Branch.value;
var s = "<select name='Branch' onclick='dostop()' onchange='dosel(this);' onblur='dosel(this);'><option>请选择</option>";
for(var i=0;i<obj.options.length;i++){
s += "<option value='" + obj.options[i].value + "'>" + obj.options[i].text + "</option>";
}
s += "</select>";
document.getElementById("pad").innerHTML = s;
document.body.attachEvent("onclick", doclick);
}
function dostop(){
event.cancelBubble = true;
}
function doclick(){
if(document.forms[0].Branch.tagName=="SELECT"){
dosel(document.forms[0].Branch);
document.body.detachEvent("onclick", doclick);
}
}
function dosel(obj){
if(obj.selectedIndex!=0){
val = obj.options[obj.selectedIndex].value;
}
document.getElementById("pad").innerHTML = temp;
document.forms[0].Branch.value = val;
}
</script>
<form>
<table>
<tr>
<td id="pad">
<input name="Branch" type="text" id="Branch" size="8" ondblclick="doit()"/>
</td>
</tr>
</table>
</form><iframe name="hf" style="display:none"></iframe>test_1.asp
<!--#include file="conn.asp"-->
<script>
window.onload=function(){
parent.showsel(document.forms[0].Branch);
}
</script>
<form>
<%
sql1 = "select * from Branchs"
set rs2=server.createobject("adodb.recordset")
rs2.open sql1,conn,1,1
if rs2.eof and rs2.bof then
response.write "请先添加单位名称。"
else
%>
<select name="Branch" size="1" id="Branch" >
<%
do while not rs2.eof
%>
<option value="<%=trim(rs2("Branch"))%>"><%=trim(rs2("Branch"))%></option>
<%
rs2.movenext
loop
end if
rs2.close
set rs2=nothing
%>
</select>
<form>以上代码能实现文本框下拉但是如果我的文本框是个列表,客户一次要输入很多条记录的情况下,我怎么去做呢?例:<form id="form1" name="form1" method="post" action=""> <input name="Branch1" type="text" id="Branch1" /><br>
<input name="Branch2" type="text" id="Branch2" /><br>
<input name="Branch3" type="text" id="Branch3" /><br>
<input name="Branch4" type="text" id="Branch4" /><br>
<input name="Branch5" type="text" id="Branch5" /><br>
<input name="Branch6" type="text" id="Branch6" /><br>
<input name="Branch7" type="text" id="Branch7" /><br>
<input name="Branch8" type="text" id="Branch8" /><br>
<input name="Branch9" type="text" id="Branch9" /><br>
<input name="Branch10" type="text" id="Branch10" /><br>
</form>
解决方案 »
- 如何在IE8的选项卡之间进行焦点切换
- 有关js中return的问题,请求指教,在线等。。。。
- 能否用object标签的形式嵌入word,excel,powerpoint的一些组件,实现office应用程序下的部分功能?
- javascript的setInterval如何传递参数?
- 一个框框可不可以超出浏览器?
- 函数问题
- 怎样把相同的对象触发相同的函数?
- 请问<script language="jscript.encode" src="me.jse"></script>这句什么意思?
- -------有什么工具可以指定GIF文件的透明色???---------
- jdk没写入本地接口
- 如何将图片的热点功能存成一JS文件,在其他网页直接调用
- 用javascript打开新窗口的问题
<SCRIPT LANGUAGE="JavaScript">
var temp = "";
var val;
var curInput, curSel;
function doit(obj){
curInput = obj;
hf.location.href="test_1.asp?"+escape(new Date());
}
function showsel(obj){
val = curInput.value;
temp = curInput.outerHTML;
var s = "<select name='" + curInput.name + "' onclick='dostop()' onchange='dosel(this);' onblur='dosel(this);'><option>请选择</option>";
for(var i=0;i<obj.options.length;i++){
s += "<option value='" + obj.options[i].value + "'>" + obj.options[i].text + "</option>";
}
s += "</select>";
curInput.outerHTML = s;
curSel = document.forms[0].elements[curInput.name];
document.body.attachEvent("onclick", doclick);
}
function dostop(){
event.cancelBubble = true;
}
function doclick(){
if(document.forms[0].elements[curInput.name].tagName=="SELECT"){
dosel(document.forms[0].elements[curInput.name]);
document.body.detachEvent("onclick", doclick);
}
}
function dosel(obj){
if(obj.selectedIndex!=0){
val = obj.options[obj.selectedIndex].value;
}
curSel.outerHTML = temp;
document.forms[0].elements[curInput.name].value = val;
}
</script>
<form id="form1" name="form1" method="post" action="">
<input name="Branch1" type="text" id="Branch1" ondblclick="doit(this);"/><br>
<input name="Branch2" type="text" id="Branch2" ondblclick="doit(this);" /><br>
<input name="Branch3" type="text" id="Branch3" ondblclick="doit(this);" /><br>
<input name="Branch4" type="text" id="Branch4" ondblclick="doit(this);" /><br>
<input name="Branch5" type="text" id="Branch5" ondblclick="doit(this);" /><br>
<input name="Branch6" type="text" id="Branch6" ondblclick="doit(this);" /><br>
<input name="Branch7" type="text" id="Branch7" ondblclick="doit(this);" /><br>
<input name="Branch8" type="text" id="Branch8" ondblclick="doit(this);" /><br>
<input name="Branch9" type="text" id="Branch9" ondblclick="doit(this);" /><br>
<input name="Branch10" type="text" id="Branch10" ondblclick="doit(this);" /><br>
</form>
<iframe name="hf" style="display:none"></iframe>
<iframe name="hf" style="display:none"></iframe>设置隐藏有什么用?
存放:
<select name="Branch" size="1" id="Branch" >
<%
do while not rs2.eof
%>
<option value="<%=trim(rs2("Branch"))%>"><%=trim(rs2("Branch"))%></option>
<%
rs2.movenext
loop
end if
rs2.close
set rs2=nothing
%>
</select>
用于:
function showsel(obj)
提取:
obj.options[i].value
obj.options[i].text
目测坛友hookee的代码基本可行
稍加修改(只需hf.location一次即可):
<SCRIPT LANGUAGE="JavaScript">
var temp = "";
var val;
var curInput, curSel;
var location_first=0
function doit(obj){
curInput = obj;
if (location_first==0){
location_first=1
hf.location.href="test_1.asp?"+escape(new Date());
}
}
。(参考)