如何在一个jsp页面 通过点击<a>把光标移动到一个<textarea>中

这里附上点代码大家帮忙看下<ahref="#answer">我要回答</a>【点击这个标签】然后把光标移动到<textareaclass="ig"id="acontent... 这里附上点代码 大家帮忙看下 <a href="#answer">我要回答</a> 【点击这个标签】

然后把光标移动到 <textarea class="ig" id="acontent" name="answer.acontent"></textarea> 这个里面来
展开
 我来答
dangboy
2011-12-05 · TA获得超过3306个赞
知道小有建树答主
回答量:992
采纳率:80%
帮助的人:402万
展开全部
<a href="#answer" onclick="document.getElementById('acontent').focus();">我要回答</a>
晕你加了锚点,这个不行了。

看下面的,我给你找了段代码,经加工处理,测试通过。
<SCRIPT type="text/javascript">

// 说明 :用 Javascript 实现锚点(Anchor)间平滑跳转
// 来源 :ThickBox 2.1
// 整理 :Yanfu Xie [xieyanfu@yahoo.com.cn]
// 网址 :http://www.codebit.cn
// 日期 :07.01.17

// 转换为数字
function intval(v)
{
v = parseInt(v);
return isNaN(v) ? 0 : v;
}

// 获取元素信息
function getPos(e)
{
var l = 0;
var t = 0;
var w = intval(e.style.width);
var h = intval(e.style.height);
var wb = e.offsetWidth;
var hb = e.offsetHeight;
while (e.offsetParent){
l += e.offsetLeft + (e.currentStyle?intval(e.currentStyle.borderLeftWidth):0);
t += e.offsetTop + (e.currentStyle?intval(e.currentStyle.borderTopWidth):0);
e = e.offsetParent;
}
l += e.offsetLeft + (e.currentStyle?intval(e.currentStyle.borderLeftWidth):0);
t += e.offsetTop + (e.currentStyle?intval(e.currentStyle.borderTopWidth):0);
return {x:l, y:t, w:w, h:h, wb:wb, hb:hb};
}

// 获取滚动条信息
function getScroll()
{
var t, l, w, h;

if (document.documentElement && document.documentElement.scrollTop) {
t = document.documentElement.scrollTop;
l = document.documentElement.scrollLeft;
w = document.documentElement.scrollWidth;
h = document.documentElement.scrollHeight;
} else if (document.body) {
t = document.body.scrollTop;
l = document.body.scrollLeft;
w = document.body.scrollWidth;
h = document.body.scrollHeight;
}
return { t: t, l: l, w: w, h: h };
}

// 锚点(Anchor)间平滑跳转
function scroller(el, duration)
{
if(typeof el != 'object') { el = document.getElementById(el); }

if(!el) return;

var z = this;
z.el = el;
z.p = getPos(el);
z.s = getScroll();
z.clear = function(){window.clearInterval(z.timer);z.timer=null};
z.t=(new Date).getTime();

z.step = function(){
var t = (new Date).getTime();
var p = (t - z.t) / duration;
if (t >= duration + z.t) {
z.clear();
window.setTimeout(function(){z.scroll(z.p.y, z.p.x)},13);
} else {
st = ((-Math.cos(p*Math.PI)/2) + 0.5) * (z.p.y-z.s.t) + z.s.t;
sl = ((-Math.cos(p*Math.PI)/2) + 0.5) * (z.p.x-z.s.l) + z.s.l;
z.scroll(st, sl);
}
};
z.scroll = function (t, l){window.scrollTo(l, t)};
z.timer = window.setInterval(function(){z.step();},13);
}

</SCRIPT>
<a href="javascript:void(0);" onclick="scroller('answer',1);document.getElementById('acontent').focus();" unselectable="on">我要回答</a>
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
<a id="answer" name="answer"></a>
<textarea class="ig" id="acontent" name="answer.acontent"></textarea>
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
沙上塔
2011-12-05 · TA获得超过135个赞
知道小有建树答主
回答量:266
采纳率:0%
帮助的人:186万
展开全部
1楼正解!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
姚贺姚贺姚贺
2011-12-05 · 超过15用户采纳过TA的回答
知道答主
回答量:88
采纳率:0%
帮助的人:44.2万
展开全部
楼上正解!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式