тип ввода текста, функция onfocus не вызывает

У меня есть таблица, в которой каждый элемент td будет содержать текст типа ввода.

<tr>
    <td id="a1"><input type="text" id="a1t"/></td>
    <td id="a2"><input type="text" id="a2t"/></td>
</tr>
<tr>
    <td id="b1"><input type="text" id="b1t"/></td>
    <td id="b2"><input type="text" id="b2t"/></td>
</tr>

Мне нужно знать идентификатор td, когда ввод текста сфокусирован. Я попытался сделать это, вызвав функцию js с событием onfocus, прикрепленным к тексту типа ввода, но функция не вызывается.

<input type="text" id="b2t" onfocus="cell_clicked('b2t')" />

Вот функция и скрипта:

function cell_clicked(cell_no){
    alert(cell_no);
}

Но функция не вызывается. Я делаю что-то не так?


person Mayur Buragohain    schedule 18.11.2013    source источник
comment
покажи нам свой cell_clicked()   -  person Aldi Unanto    schedule 18.11.2013
comment
Вы можете поделиться jsFiddle для этого?   -  person gurvinder372    schedule 18.11.2013
comment
Подожди секунду, это сделает jsfiddle   -  person Mayur Buragohain    schedule 18.11.2013
comment
вы можете использовать родительский jquery api.jquery.com/parent   -  person anshuVersatile    schedule 18.11.2013
comment
функция cell_clicked(cell_no){ console.log(cell_no); }   -  person Mayur Buragohain    schedule 18.11.2013
comment
см. эту скрипту или эту скрипка   -  person GitaarLAB    schedule 18.11.2013
comment
отлично работает jsFiddle   -  person nkmol    schedule 18.11.2013
comment
С вашей функцией все в порядке (она должна работать, если в вашем браузере есть консоль объектов..). Пожалуйста, создайте скрипт, который повторяет вашу проблему.   -  person GitaarLAB    schedule 18.11.2013
comment
ошибки нет, ваш код работает нормально   -  person Aldi Unanto    schedule 18.11.2013
comment
jsfiddle.net/ywt8V   -  person Mayur Buragohain    schedule 18.11.2013
comment
по какой причине моя ссылка не работает?   -  person Mayur Buragohain    schedule 18.11.2013
comment
@nkmol ur jsfiddle не работает   -  person Mayur Buragohain    schedule 18.11.2013


Ответы (2)


Ваш код работает нормально, у вас неправильная настройка в jsfiddle.
В разделе Framework and extensions измените onLoad на no wrap, чтобы сделать вашу функцию cell_clicked доступной по всему миру.

См. это http://jsfiddle.net/ywt8V/3/ (ваша скрипка http://jsfiddle.net/ywt8V/ только с изменением этого параметра).

В качестве примечания вы можете получить доступ к идентификатору родительской ячейки таблицы следующим образом:

onfocus="cell_clicked(this.parentNode.id)"

Надеюсь это поможет

person GitaarLAB    schedule 18.11.2013
comment
но как мне заставить его работать в моем приложении. Ваш ответ разрешил jsfiddle, но приложение по-прежнему не работает. - person Mayur Buragohain; 18.11.2013
comment
Затем... используя правильные настройки в jsfiddle, предоставьте новую скрипку, содержащую ваш живой код. Код, который вы в настоящее время предоставили (в вашем вопросе и скрипке), доказал свою работоспособность в нескольких скрипках в этой теме. - person GitaarLAB; 18.11.2013
comment
код работает в jsfiddle при изменении настроек. Но в моем приложении тот же код не работает. На самом деле, я скопировал код из источника моей страницы. - person Mayur Buragohain; 18.11.2013
comment
Тогда покажите нам этот код, другого пути нет. Что-то еще (возможно, другой код с ошибкой) должно быть проблемой. - person GitaarLAB; 18.11.2013
comment
бросить все это..Ваше примечание служит моей конечной цели..!! :) Спасибо за время..!! - person Mayur Buragohain; 18.11.2013

person    schedule
comment
невозможно добавить селектор ввода текста, так как структура создается динамически - person Mayur Buragohain; 18.11.2013