用JS做一个弹出框。显示内容为选择性别 处理文本框的onfocus事件,显示一个包含2个链接(或span)的DIV,再处理链接的onclick事件. 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 用模式窗口的例子:第一个页面:<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> 对了,上文例子中文本框最好是onfocus事件我写成onclick事件了 用层做的例子:<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什么时候隐藏什么时候显示。 我将 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,就有效果。请问还有什么方法可以定位? 哦,你是在asp.net里加的,按说是没什么区别才对啊用JSP或者HTML这样写都对着我对ASP.NET不是很熟,会不会是因为ASP.NET的页面元素是在后台文件定位好的,而不是页面上用HTML标记定位的缘故呢?不过这只是猜想,我对ASP.NET只是初学者,好多东西还不明白。 如何获取未定义div层的宽度? 参数无效???请教中。。。 求一JS过滤正则 JS求助 函数参数传入子函数不成功,请问怎么回事 怎样把照片和文字加载到新的网页上?急!!!请指教 打印的莫名问题 各位大哥请问为什么我的验证不起作用 请问在javascript中有方法实现跳转到其他页面吗? 提供信息者有分!!在线给分!! Prototype内的正则表达式..... javascript如何输出计算结果?
第一个页面:
<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>
我写成onclick事件了
<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什么时候隐藏什么时候显示。
div.style.left= obj.offsetLeft;写入到我的ASPX中。在CS中这样调用:
this.textBox.Attributes.Add("onfocus", "loadSmallWindow2(this)");怎么弹出来的框在屏幕的左上角呢?好偈是 obj.offsetTop 没有作用一样,我用具体数字比如500,就有效果。
请问还有什么方法可以定位?
用JSP或者HTML这样写都对着
我对ASP.NET不是很熟,会不会是因为ASP.NET的页面元素是在后台文件定位好的,而不是页面上用HTML标记定位的缘故呢?不过这只是猜想,我对ASP.NET只是初学者,好多东西还不明白。