怎样获取一个文本框在页面上的位置信息?

问题描述

我有一个文本框,下面还有一个DIV,我想让DIV绝对定位在文本框的下面,因为如果相对定位的话,文本框下面的按钮之类的会被DIV撑走。我想让DIV浮在这些按钮之上并定位在文本框之下。不知道怎么得到这个文本框的TOP,LEFT值,因为我并没有设置这些值,用文本框.style.top/left得不到。希望达人们帮帮忙。谢谢。

解决方案

先将div和文本框放在同一个父元素之下.然后通过文本框的offsetTop/offsetHeight/offsetLeft的值,对div进行定位:var divObj = ...;//div元素var inputObj = ...;//文本框divObj.style.top = inputObj.offsetTop + inputObj.offsetHeight;divObj.style.left = inputObj.offsetLeft;
解决方案二:
如果需要兼容ie,firefox,那么元素的父元素的css设置会使在这两个浏览器下获取的offset值不一样,比如说父元素、祖父元素是否使用的浮动,是否设置了相对绝对定位等等,从而使的定位出现偏差,最保险的方法,是先获取文本框相对于body的偏移,示例代码getEventPosition:function(Q,O){if(typeof Q.offsetX!='undefined'){var H=Q.target||Q.srcElement;var y=[Q.offsetX,Q.offsetY];while(H&&H!=O){var la=H.style.zoom;if(la){y[0]*=la; y[1]*=la;}if(!(0==H.clientWidth && 0==H.clientHeight && H.offsetParent && 'TD'==H.offsetParent.nodeName)){y[0]+=H.offsetLeft;y[1]+=H.offsetTop;}H=H.offsetParent;};return y;}else if(typeof Q.pageX!='undefined'){var y=u.getPageOffset(O);return[Q.pageX-y[0],Q.pageY-y[1]];}else return[0,0];}getPageOffset:function(m){var Z=[0,0];F=m;while(F && F.offsetParent){Z[0]+=F.offsetLeft;Z[1]+=F.offsetTop;F=F.offsetParent};return Z;}关键代码自己看啦。
解决方案三:
直接调用offsetTop,offsetLeft属性就可以了
解决方案四:
<script>function pos(){alert(uname.offsetTop+" "+uname.offsetLeft);}</script><input type="text" name="uname" value="" onfocus="pos()">
解决方案五:

解决方案六:
看看是不是我相册里的那个样子!我上传的图片不见了!
解决方案七:

解决方案八:
楼主看下,是不是下面代码表达的意思.<html><body><input type="text" id="myText" name="myText" style="position:absolute; left:150; top:100; "/><script> alert(myText.offsetTop)</script></body></html>
解决方案九:
只有在position为relative或absolute时才能操作top/right/bottom/left.你的这个问题首先要设定DIV的position为下列情况之一1.relative:相对定位,这时div的尺寸会影响父节点的尺寸2.absolute:绝对定位,这时div的尺寸不影响父节点的尺寸,但是具体位置受父节点的position设置影响.其中的具体差异你测试一下就明白了.根据你的情况选择relative,然后设置top值也许就能解决问题
解决方案十:
使用jquery1.2.6,其中有相关的函数,API参考中似乎没有,不过看源代码就能找到。

时间: 2024-12-22 13:26:56

怎样获取一个文本框在页面上的位置信息?的相关文章

asp.net分页,用一个文本框输入页面,按钮跳转到指定的分页的页面

问题描述 datalist已经查询出结果,asp.net分页已写好,用一个文本框输入页面,按钮跳转到指定的分页的页面,分页已经写好,就是不知道怎么在文文本框输入页面后跳转到指定的分页的页面,请各位给个思路 解决方案 解决方案二:傳入參數pageIndex重新執行sql語句綁定到datalist解决方案三:传入参数是指,页面跳转的时候把参数带上吗?我要跳转到本页面的,参数怎么弄呢?解决方案四:文文本框输入页面后跳转到指定的分页的页面?在跳转按钮或者链接里面想跳转到:<inputid=p><

javascript-在js中 如何用Jquery 获取一个文本框中的值 文本框中ID=A

问题描述 在js中 如何用Jquery 获取一个文本框中的值 文本框中ID=A 在js中 如何用Jquery 获取一个文本框中的值 文本框的ID=a 解决方案 $("#a").val()就是获取ID=A 的input的value值 解决方案二: $("#A").val() 解决方案三: js与jQuery获取文本框的值js获取文本框值JS获取文本框的值----------------------

在页面上放一个文本框和一个按钮,想文本框中输入内容点击按钮,读出输入的内容。发声的。可以听见的 谢谢。急急急急!!!!!!!!!!!!

问题描述 在页面上放一个文本框和一个按钮,想文本框中输入内容点击按钮,读出输入的内容.发声的.可以听见的谢谢.急急急急!!!!!!!!!!!!

关于微信开发,jsp页面上弹出一个文本框

问题描述 关于微信开发,jsp页面上弹出一个文本框 微信开发不支持 prompt ,怎么样点击一个按钮然后弹出一个输入框?求大神帮助 解决方案 给按钮就一个click事件,,里面动态生成一个文本框就行了,,, 解决方案二: 是弹出一个文本框还是显示一个文本框?如果是显示一个文本框那就使用js,加入一个点击事件,动态生成或事先预备好文本框都可以.如果是弹出文本框的效果,那就可以采用第三方插件bootstrap或jqueryUI去实现

我在页面上有五个文本框,我想在输完最后一个文本框的内容以后,回车以后将五个文本框的内容都清空,并将焦点回到第一个文本框处

问题描述 我在页面上有五个文本框,我想在输完最后一个文本框的内容以后,回车以后将五个文本框的内容都清空,并将焦点回到第一个文本框处.该如何实现,请大家指教!我试了一下大虾们以前解答的帖子,document.formname.inputname.value="",它报错是"未声明名称'document'",请问我该如何声明呢?我用的是VS2005环境 解决方案 解决方案二:,document.formname.inputname.value=""是

使用FormFile上传文件,在action前使用了Filter过滤器获取一个文本域的值,怎么获取?

问题描述 使用FormFile上传文件,在action前使用了Filter过滤器获取一个文本域的值,怎么获取?我使用ServletFileUpload在Filter中获取到值后,在Action中获取的所有值都变成NULL了,请问这是怎么回事?怎么去解决?谢谢!使用的是struts1.2 解决方案 本帖最后由 xihuanshuang 于 2010-11-15 12:48:07 编辑解决方案二:在过滤器中再把request参数传到action里.

js获取-怎么在js中获取这些文本框的数组name

问题描述 怎么在js中获取这些文本框的数组name 多个文本框的name属性不同,但是各个文本框的name是一个数组,比如name='examscores[i].score',怎么在js中获取这些文本框的数组name,ps:这些文本框是通过ajax在后台action里面,out.writer("""")到前台的,请问有没有人知道怎么做 解决方案 var ipt=document.getElementsByTagName('input');for(var i=0;i&

jsp-JSP包含一个下拉框和一个文本框,如何根据下拉框的值判断文本框是否必填?

问题描述 JSP包含一个下拉框和一个文本框,如何根据下拉框的值判断文本框是否必填? 如题,下拉框有1,2,3,4,5 五个选项,怎么判断下拉框的值,让选择1选项的时候必须填文本框的值,否则不必填.需要在JSP页面上实现. 解决方案 服务器端和客户端都要验证一遍.. <form method="post" onsubmit="return check(this)"> <select name="tp"><option

一个文本框,当输入一些字符后,通过ajax+jquery会从后台查到一些数据,当数据返回到页面上时,需要将文本框变成下拉框,下拉框中显示返回的数据,该怎么实现

问题描述 一个文本框,当输入一些字符后,通过ajax+jquery会从后台查到一些数据,当数据返回到页面上时,需要将文本框变成下拉框,下拉框中显示返回的数据,现在能得到数据,就是不知道怎么将原来的文本框变成下拉框 解决方案 解决方案二:做两个控件,根据情况隐藏一个,表示一个.document.getElementById("xxx").style.display="";//表示document.getElementById("xxx").styl