나는 시도했다
$(":input:not(input[type=button],input[type=submit],button):visible:first")
하지만 아무것도 찾지 못합니다.
내 실수는 무엇입니까?
UPD : $ (document) .load ()에서 실행합니다.
<script type="text/javascript">
$(window).load(function () {
var aspForm = $("form#aspnetForm");
var firstInput = $(":input:not(input[type=button],input[type=submit],button):visible:first", aspForm);
firstInput.focus();
});
</script>
디버그에서 firstInput이 비어 있음을 알 수 있습니다.
UPD2 : 저는 Sharepoint에서 실행되는 ASP.NET 페이지에 있습니다.
나는 지금까지 일부 요소의 경우 (고정 된 요소의 경우) 찾고 일부는 찾지 못하는 것을 발견했습니다. 🙁
답변
답변
JQuery 코드는 괜찮습니다. 창로드 이벤트가 아닌 준비 처리기에서 실행해야합니다.
<script type="text/javascript">
$(function(){
var aspForm = $("form#aspnetForm");
var firstInput = $(":input:not(input[type=button],input[type=submit],button):visible:first", aspForm);
firstInput.focus();
});
</script>
최신 정보
Karim79 (예제 주셔서 감사합니다)의 예를 사용해 보았지만 잘 작동합니다 : http://jsfiddle.net/2sMfU/
답변
이것은 위의 요약이며 나를 위해 완벽하게 작동합니다. 정보에 대해서 감사드립니다!
<script language='javascript' type='text/javascript'>
$(document).ready(function () {
var firstInput = $('form').find('input[type=text],input[type=password],input[type=radio],input[type=checkbox],textarea,select').filter(':visible:first');
if (firstInput != null) {
firstInput.focus();
}
});
</script>
답변
이것은 jQuery 1.5.2 에서 지정된 속성 이없는 요소를 :text
선택 하기 때문에 @Mottie의 답변보다 개선되었습니다 (이 경우 암시 됨).input
type
type="text"
$('form').find(':text,textarea,select').filter(':visible:first')
답변
여기 내 해결책이 있습니다. 코드는 쉽게 따라 할 수 있지만 여기에 아이디어가 있습니다.
- 모든 입력, 선택 및 텍스트 영역 가져 오기
- 모든 버튼 및 숨겨진 필드 필터링
- 활성화되고 보이는 필드로만 필터링
- 첫 번째를 선택
- 선택한 필드에 집중
코드:
function focusFirst(parent) {
$(parent).find('input, textarea, select')
.not('input[type=hidden],input[type=button],input[type=submit],input[type=reset],input[type=image],button')
.filter(':enabled:visible:first')
.focus();
}
그런 다음 부모 요소 또는 선택기로 focusFirst를 호출하면됩니다.
선택자:
focusFirst('form#aspnetForm');
요소:
var el = $('form#aspnetForm');
focusFirst(el);
답변
아래 코드를 시도해 볼 수 있습니다 …
$(document).ready(function(){
$('form').find('input[type=text],textarea,select').filter(':visible:first').focus();
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<form>
<input type="text" />
<input type="text" />
<input type="text" />
<input type="text" />
<input type="text" />
<input type="submit" />
</form>