Как заставить .focus () работать с массивом переключателей? - PullRequest
0 голосов
/ 14 апреля 2010

Я пытаюсь заставить .focus () работать в IE, он работает в Chrome и т. Д. Моя форма называется:

<form name="feedbackform" action="feedback.asp" target="_self" onsubmit="return 
        validate_txt(this)" method="post" style="margin: 0;">

мои радиокнопки:

<input type="radio" name="fb_commentype" value="Comment" />Comment
<input type="radio" name="fb_commentype" value="Complaint" />Complaint
<input type="radio" name="fb_commentype" value="Request" />Request

в моем javascript я пытаюсь позвонить, используя эту строку:

document.forms["feedbackform"].elements["fb_commentype"][0].focus();

Как я уже сказал, он работает в Chrome, Firefox Blah Blah Blah, но в IE 8 я получаю nada, zip, и я не знаю почему, и я не могу найти удовлетворительный ответ, есть ли способ обойти это?

Ответы [ 3 ]

2 голосов
/ 05 января 2015
<input type="radio" name="fb_commentype" value="Comment" />Comment
<input type="radio" name="fb_commentype" value="Complaint" />Complaint
<input type="radio" name="fb_commentype" value="Request" />Request

Простой, посмотрите на вашу радио-кнопку как на массив, вы можете сфокусировать любую радио-кнопку на массиве, указав на правильный индекс, см. Ниже.

document.getElementsByName('fb_commentype')[0].focus();

таким образом, переключатель «Комментарий» будет сфокусирован ...

Удачного кодирования !!

0 голосов
/ 15 апреля 2010

Возможно, IE не понимает синтаксис. [0] .focus (). Вы можете попробовать что-то вроде этого:

document.forms["feedbackform"].elements["fb_commentype"][0].focus();
document.forms["feedbackform"].elements["fb_commentype"].focus(); 
0 голосов
/ 14 апреля 2010

Вы вызываете фокус, когда страница только загружается (например, загрузка тела)?

Этот поток может помочь - он может быть вызван в вашем коде до завершения загрузки DOM

Также на этой странице есть хороший тест на поведение focus (): http://hardlikesoftware.com/projects/IE8FocusTest.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...