按了男或女之后。将内容回填到鼠标点中的那个文本框中。
大家明白我的意思没有?我对JS有点茫然。请大家帮帮忙。谢谢各位高手!
12 个解决方案
#1
可以用层或模态窗口
#2
用层吧~
#3
处理文本框的onfocus事件,显示一个包含2个链接(或span)的DIV,再处理链接的onclick事件.
#4
用模式窗口的例子:
第一个页面:
<html>
<body>
单击选择性别:
<input type = "text" name = "userSex" readOnly onclick="loadSmallWindow(this)" code="">
</body>
<script language="javascript">
function loadSmallWindow(obj)
{
var returnValue = showModalDialog("second.html",window,"dialogWidth:150px;dialogHeight:90px;status:no");
document.all("userSex").value = returnValue;
}
</script>
</html>
窗口页面second.html:
<html>
<body>
<select name = "sel_sex">
<option value = "男">男</option>
<option value = "女">女</option>
</select>
<input type="submit" value = "确定" onclick="aa()">
</body>
<script language="javascript">
window.returnValue = "";
function aa()
{
window.returnValue = document.all("sel_sex").value;
window.close();
}
</script>
</html>
第一个页面:
<html>
<body>
单击选择性别:
<input type = "text" name = "userSex" readOnly onclick="loadSmallWindow(this)" code="">
</body>
<script language="javascript">
function loadSmallWindow(obj)
{
var returnValue = showModalDialog("second.html",window,"dialogWidth:150px;dialogHeight:90px;status:no");
document.all("userSex").value = returnValue;
}
</script>
</html>
窗口页面second.html:
<html>
<body>
<select name = "sel_sex">
<option value = "男">男</option>
<option value = "女">女</option>
</select>
<input type="submit" value = "确定" onclick="aa()">
</body>
<script language="javascript">
window.returnValue = "";
function aa()
{
window.returnValue = document.all("sel_sex").value;
window.close();
}
</script>
</html>
#5
对了,上文例子中文本框最好是onfocus事件
我写成onclick事件了
我写成onclick事件了
#6
用层做的例子:
<html>
<body>
<div id="div" style="width:150px;height=90px;display:none;background-color:#ffffee;boder-collapse:collapse;border-color:#000000;border-style:solid;border-width:1px;position:absolute;z-index:100"><select name = "selSex"><option value = "男">男</option><option value = "女">女</option></select><input type="button" name = "btnOk" value = "确定"></div>
单击选择性别:
<input type = "text" name = "userSex2" readOnly onfocus="loadSmallWindow2(this)">
</body>
<script language="javascript">
function loadSmallWindow2(obj)
{
var div = document.getElementById("div");
div.style.display = "";
div.style.top = obj.offsetTop + obj.clientHeight + 2;
div.style.left= obj.offsetLeft;
document.all("btnOk").onclick = function(){
onSelectSex(obj,div);
};
}
function onSelectSex(obj,divObj)
{
var sel = document.all("selSex");
obj.value = sel.value;
divObj.style.display = "none";
}
</script>
</html>
以上是我写的两个例子
我只是写个很简单的例子,如果用层,建议把层放在iframe上面,然后控制iframe什么时候隐藏什么时候显示。
<html>
<body>
<div id="div" style="width:150px;height=90px;display:none;background-color:#ffffee;boder-collapse:collapse;border-color:#000000;border-style:solid;border-width:1px;position:absolute;z-index:100"><select name = "selSex"><option value = "男">男</option><option value = "女">女</option></select><input type="button" name = "btnOk" value = "确定"></div>
单击选择性别:
<input type = "text" name = "userSex2" readOnly onfocus="loadSmallWindow2(this)">
</body>
<script language="javascript">
function loadSmallWindow2(obj)
{
var div = document.getElementById("div");
div.style.display = "";
div.style.top = obj.offsetTop + obj.clientHeight + 2;
div.style.left= obj.offsetLeft;
document.all("btnOk").onclick = function(){
onSelectSex(obj,div);
};
}
function onSelectSex(obj,divObj)
{
var sel = document.all("selSex");
obj.value = sel.value;
divObj.style.display = "none";
}
</script>
</html>
以上是我写的两个例子
我只是写个很简单的例子,如果用层,建议把层放在iframe上面,然后控制iframe什么时候隐藏什么时候显示。
#7
bucuo
#8
结帖。谢谢两位热心高手!
#9
再次感谢
#10
我将 div.style.top = obj.offsetTop + obj.clientHeight + 2;
div.style.left= obj.offsetLeft;
写入到我的ASPX中。在CS中这样调用:
this.textBox.Attributes.Add("onfocus", "loadSmallWindow2(this)");
怎么弹出来的框在屏幕的左上角呢?好偈是 obj.offsetTop 没有作用一样,我用具体数字比如500,就有效果。
请问还有什么方法可以定位?
div.style.left= obj.offsetLeft;
写入到我的ASPX中。在CS中这样调用:
this.textBox.Attributes.Add("onfocus", "loadSmallWindow2(this)");
怎么弹出来的框在屏幕的左上角呢?好偈是 obj.offsetTop 没有作用一样,我用具体数字比如500,就有效果。
请问还有什么方法可以定位?
#11
哦,你是在asp.net里加的,按说是没什么区别才对啊
用JSP或者HTML这样写都对着
我对ASP.NET不是很熟,会不会是因为ASP.NET的页面元素是在后台文件定位好的,而不是页面上用HTML标记定位的缘故呢?不过这只是猜想,我对ASP.NET只是初学者,好多东西还不明白。
用JSP或者HTML这样写都对着
我对ASP.NET不是很熟,会不会是因为ASP.NET的页面元素是在后台文件定位好的,而不是页面上用HTML标记定位的缘故呢?不过这只是猜想,我对ASP.NET只是初学者,好多东西还不明白。
#12
好的。谢谢:)
#1
可以用层或模态窗口
#2
用层吧~
#3
处理文本框的onfocus事件,显示一个包含2个链接(或span)的DIV,再处理链接的onclick事件.
#4
用模式窗口的例子:
第一个页面:
<html>
<body>
单击选择性别:
<input type = "text" name = "userSex" readOnly onclick="loadSmallWindow(this)" code="">
</body>
<script language="javascript">
function loadSmallWindow(obj)
{
var returnValue = showModalDialog("second.html",window,"dialogWidth:150px;dialogHeight:90px;status:no");
document.all("userSex").value = returnValue;
}
</script>
</html>
窗口页面second.html:
<html>
<body>
<select name = "sel_sex">
<option value = "男">男</option>
<option value = "女">女</option>
</select>
<input type="submit" value = "确定" onclick="aa()">
</body>
<script language="javascript">
window.returnValue = "";
function aa()
{
window.returnValue = document.all("sel_sex").value;
window.close();
}
</script>
</html>
第一个页面:
<html>
<body>
单击选择性别:
<input type = "text" name = "userSex" readOnly onclick="loadSmallWindow(this)" code="">
</body>
<script language="javascript">
function loadSmallWindow(obj)
{
var returnValue = showModalDialog("second.html",window,"dialogWidth:150px;dialogHeight:90px;status:no");
document.all("userSex").value = returnValue;
}
</script>
</html>
窗口页面second.html:
<html>
<body>
<select name = "sel_sex">
<option value = "男">男</option>
<option value = "女">女</option>
</select>
<input type="submit" value = "确定" onclick="aa()">
</body>
<script language="javascript">
window.returnValue = "";
function aa()
{
window.returnValue = document.all("sel_sex").value;
window.close();
}
</script>
</html>
#5
对了,上文例子中文本框最好是onfocus事件
我写成onclick事件了
我写成onclick事件了
#6
用层做的例子:
<html>
<body>
<div id="div" style="width:150px;height=90px;display:none;background-color:#ffffee;boder-collapse:collapse;border-color:#000000;border-style:solid;border-width:1px;position:absolute;z-index:100"><select name = "selSex"><option value = "男">男</option><option value = "女">女</option></select><input type="button" name = "btnOk" value = "确定"></div>
单击选择性别:
<input type = "text" name = "userSex2" readOnly onfocus="loadSmallWindow2(this)">
</body>
<script language="javascript">
function loadSmallWindow2(obj)
{
var div = document.getElementById("div");
div.style.display = "";
div.style.top = obj.offsetTop + obj.clientHeight + 2;
div.style.left= obj.offsetLeft;
document.all("btnOk").onclick = function(){
onSelectSex(obj,div);
};
}
function onSelectSex(obj,divObj)
{
var sel = document.all("selSex");
obj.value = sel.value;
divObj.style.display = "none";
}
</script>
</html>
以上是我写的两个例子
我只是写个很简单的例子,如果用层,建议把层放在iframe上面,然后控制iframe什么时候隐藏什么时候显示。
<html>
<body>
<div id="div" style="width:150px;height=90px;display:none;background-color:#ffffee;boder-collapse:collapse;border-color:#000000;border-style:solid;border-width:1px;position:absolute;z-index:100"><select name = "selSex"><option value = "男">男</option><option value = "女">女</option></select><input type="button" name = "btnOk" value = "确定"></div>
单击选择性别:
<input type = "text" name = "userSex2" readOnly onfocus="loadSmallWindow2(this)">
</body>
<script language="javascript">
function loadSmallWindow2(obj)
{
var div = document.getElementById("div");
div.style.display = "";
div.style.top = obj.offsetTop + obj.clientHeight + 2;
div.style.left= obj.offsetLeft;
document.all("btnOk").onclick = function(){
onSelectSex(obj,div);
};
}
function onSelectSex(obj,divObj)
{
var sel = document.all("selSex");
obj.value = sel.value;
divObj.style.display = "none";
}
</script>
</html>
以上是我写的两个例子
我只是写个很简单的例子,如果用层,建议把层放在iframe上面,然后控制iframe什么时候隐藏什么时候显示。
#7
bucuo
#8
结帖。谢谢两位热心高手!
#9
再次感谢
#10
我将 div.style.top = obj.offsetTop + obj.clientHeight + 2;
div.style.left= obj.offsetLeft;
写入到我的ASPX中。在CS中这样调用:
this.textBox.Attributes.Add("onfocus", "loadSmallWindow2(this)");
怎么弹出来的框在屏幕的左上角呢?好偈是 obj.offsetTop 没有作用一样,我用具体数字比如500,就有效果。
请问还有什么方法可以定位?
div.style.left= obj.offsetLeft;
写入到我的ASPX中。在CS中这样调用:
this.textBox.Attributes.Add("onfocus", "loadSmallWindow2(this)");
怎么弹出来的框在屏幕的左上角呢?好偈是 obj.offsetTop 没有作用一样,我用具体数字比如500,就有效果。
请问还有什么方法可以定位?
#11
哦,你是在asp.net里加的,按说是没什么区别才对啊
用JSP或者HTML这样写都对着
我对ASP.NET不是很熟,会不会是因为ASP.NET的页面元素是在后台文件定位好的,而不是页面上用HTML标记定位的缘故呢?不过这只是猜想,我对ASP.NET只是初学者,好多东西还不明白。
用JSP或者HTML这样写都对着
我对ASP.NET不是很熟,会不会是因为ASP.NET的页面元素是在后台文件定位好的,而不是页面上用HTML标记定位的缘故呢?不过这只是猜想,我对ASP.NET只是初学者,好多东西还不明白。
#12
好的。谢谢:)