2013-03-11 114 views
3

我在页面上有一个表单,用于在特定的舞台上注册各种娱乐节目。提交完所有细节并点击提交按钮后,它应该检查某一节目在某个特定日期是否存在。如果有任何程序存在,一个div应该显示现有程序的全部细节。我的问题是,如果有任何程序存在,我需要把重点放在新生成的div上(我的意思是div应该是可见的,不需要编辑)。我需要它,因为div是在AJAX的帮助下生成的,而且表单太冗长了,所以用户看不到生成的div,除非他/她向上滚动。 注意:div创建在顶部位置。 有没有什么办法让DIV部分是提交表单在点击按钮后将焦点放在特定的div上

回答

0

使用以下语句适用于我。

document.getElementById('id').scrollIntoview(); 
+0

它给我的错误遗漏的类型错误:无法读取空的特性“scrollIntoview” – harshal 2016-02-11 20:56:22

+0

@harshal可你刚才告诉我你是怎么做的.. – Techy 2016-02-14 05:42:49

+0

这从大多数浏览器缺乏支持: https://developer.mozilla.org/en-US/docs/Web/API/Element/scrollIntoView – 2017-01-10 22:05:37

1

后可见尝试window.scrollTop = #VALUE;

3

您可以滚动到页面的顶部:

window.scrollTo(0,0); 

或使用jQuery使用:

$('html,body').scrollTop(0); 

或用一些有趣的效果

$('html, body').animate({ scrollTop: 0 }, 'fast'); 
6

您可以使用这样的代码跳转到div

$(window).scrollTop($('#new_div').offset().top-20) 
11

定期,你不能专注一个div。但是,如果你将一个tabindex属性添加到它,它会工作:

<div tabindex="1">test </div> 

这里是一个演示:http://jsfiddle.net/XE2jU/1/

如果您在测试按钮DIV单击应成为重点,跳进视图。 点击我只是做类似divElement.focus()

另一种选择是滚动区域,其中包含您新添加的div,就像在这里的其他答案一样。

2
<input type="button" onclick="$('#c')[0].focus()" value="test focus" /> 
<div> 
    <div id="c" tabindex="1" style="margin-top:800px;">testing</div> 
</div> 

jsfiddle example.

+0

我没有downvote你的答案。我已经upvoted你的答案 – Techy 2013-03-12 04:52:04

+1

最有可能倒下投票,因为它缺乏解释和使用jQuery内联。我会说这些都是不好的练习。 jQuery在这里也没有被提及。在回答JS问题时需要小心,假设他们正在使用你的库,除非他们真的说出来。 – 2017-01-10 22:08:04

相关问题