0
텍스트 뒤에 포커스를두고 있습니다. 이것은 IE와 크롬에서 작동하지만 파이어 폭스에서는 텍스트보다 먼저 시작됩니다.setSelectionRange로 jQuery TypeError를 정의하지 않았습니다.
TypeError: $(...)[0] is undefined
[Break On This Error]
$(focus)[0].setSelectionRange($(focus).val().length, $(focus).val().length);
관련 코드 :
$(focus)[0].setSelectionRange($(focus).val().length, $(focus).val().length);
$(focus).focus();
전체 jQuery 코드 : 구체적으로
<script src="//cdn.jsdelivr.net/jquery.cookie/1.3/jquery.cookie.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function() {
$("#state").change(function() {
this.form.submit();
})
var focus = $.cookie("inputFocus");
$(focus)[0].setSelectionRange($(focus).val().length, $(focus).val().length);
$(focus).focus();
$("#supplier_name").val($("#supplier_name").val());
$("#aircraft_type").val($("#aircraft_type").val());
var typingTimer;
var doneTypingInterval = 600;
$('#supplier_name').keyup(function(){
clearTimeout(typingTimer);
if ($('#supplier_name').val) {
typingTimer = setTimeout(doneTyping, doneTypingInterval);
}
$.cookie("inputFocus", "#supplier_name");
});
$('#aircraft_type').keyup(function(){
clearTimeout(typingTimer);
if ($('#aircraft_type').val) {
typingTimer = setTimeout(doneTyping, doneTypingInterval);
}
$.cookie("inputFocus", "#aircraft_type"); });
function GetQueryStringParams(sParam)
{
var sPageURL = window.location.search.substring(1);
var sURLVariables = sPageURL.split('&');
for (var i = 0; i < sURLVariables.length; i++)
{
var sParameterName = sURLVariables[i].split('=');
if (sParameterName[0] == sParam)
{
return sParameterName[1];
}
}
}
var state = GetQueryStringParams('state');
var supplier_name = GetQueryStringParams('supplier_name');
var aircraft_type = GetQueryStringParams('aircraft_type');
if(supplier_name === "" && state === "any" && aircraft_type === "") {
$('#clear').attr('disabled','disabled');
}
$("#clear").click(function() {
if(state === "any") {
$("#aircraft_type").val("");
$("#supplier_name").val("");
} else {
$('#state option:selected').remove();
$("#aircraft_type").val("");
$("#supplier_name").val("");
}
});
function doneTyping() {
$("form").submit();
}
});
</script>
쿠키가 설정되지 않을 수와
https://github.com/carhartl/jquery-cookie
캐치를 "쿠키를 읽기"로 아직 – Alexander
그것은 (경우 수 shoudn't ... val()), paranthesis. 그 외에도 $ (focus) [0] .selectionStart = $ (focus) [0] .selectionEnd = $ (focus) .val(). 길이를 시도하십시오. –
"(... val())"이 무엇을 의미합니까? 난 당신의 코드를 시도하고 다음과 같은 오류가 밖으로 뱉어 : 형식 오류 :. $ (...)를 발 (...)이 \t $ (초점) [0 [이 오류에 브레이크] 정의되지 ] .selectionStart = $ (focus) [0] .selectionEnd = $ (focus) .val(). 길이; – sephiith