Я использую этот скрипт, я нашел, чтобы добавить текстовое поле, когда пользователь нажимает на текстовую ссылку. Есть ли способ сделать это, чтобы каждое новое текстовое поле, которое появляется автоматически, имеет курсор внутри текстового поля.
Вот сценарий:
function add(orderType) {
//Create an input type dynamically.
var element = document.createElement("input");
//Assign different attributes to the element.
element.setAttribute("type", "text");
element.setAttribute("name", orderType + "[]");
var foo = document.getElementById(orderType);
//Append the element in page (in span).
//Create the option text
var a = document.createTextNode("Choice: ");
foo.appendChild(a);
foo.appendChild(element);
var br = document.createElement("br");
foo.appendChild(br);
i++;
}
Большое спасибо
Вызовите element.focus()
после добавления в foo
:
function add(orderType) {
//Create an input type dynamically.
var element = document.createElement("input");
//Assign different attributes to the element.
element.setAttribute("type", "text");
element.setAttribute("name", orderType + "[]");
var foo = document.getElementById(orderType);
//Append the element in page (in span).
//Create the option text
var a = document.createTextNode("Choice: ");
foo.appendChild(a);
foo.appendChild(element);
var br = document.createElement("br");
foo.appendChild(br);
element.focus();//focus new input
i++;
}
это было какое-то время с тех пор, как я запрограммировал javascript и переучил его сейчас... Я действительно верю, что фокус - это то, что вы хотите.
document.getElementById(orderType).focus
=====================
.tabindex((надеюсь, правильный syntex)) используется с клавишей "tab".
document.getElementById(orderType).tabindex = 0 //first name
document.getElementById(orderTyppe_2).tabindex = 1 //last name
document.getElementById(orderTyppe_3.tabindex = 2 //address
document.getElementById(orderTyppe_3.tabindex = 3 //city
etc...
больше используется для страницы регистрации или заполнения страницы адреса доставки. вы просто настраивали tabindex, поэтому, когда вы нажимаете вкладку, вы переходите к следующему самому высокому индексу tabindex в документе. может быть более полезным, когда страницы изменяются с помощью javascript.
==================
в глубине души я хочу сказать, что есть еще один
.something
document.getElementById(orderType).something
for <input /> or <input></input> or like elements
но я не помню его сразу. который имеет дело с "курсором", но это может быть проблема с перекрестным браузером. и реализован только в одном из различных основных браузеров.
Решение jQuery будет выбирать последний вход и затем фокусировать его, где #ordertype - это идентификатор контейнера:
$ ("#" + orderType + "input: last"). focus();
orderType
- это идентификатор переменной. Должно быть $("#" + orderType + "input:last")
element.focus()
в конце послеfoo.appendChild