Добавить фокус на каждый новый текстовый ввод, который добавляется

0

Я использую этот скрипт, я нашел, чтобы добавить текстовое поле, когда пользователь нажимает на текстовую ссылку. Есть ли способ сделать это, чтобы каждое новое текстовое поле, которое появляется автоматически, имеет курсор внутри текстового поля.

Вот сценарий:

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++;    
}

Большое спасибо

  • 1
    element.focus() в конце после foo.appendChild
  • 0
    @megawac - Хороший! работал отлично. Извините, stackoverflow автоматически добавил jquery, я не был уверен на 100%, что это было.
Теги:

3 ответа

2

Вызовите 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++;
}
0

это было какое-то время с тех пор, как я запрограммировал 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 

но я не помню его сразу. который имеет дело с "курсором", но это может быть проблема с перекрестным браузером. и реализован только в одном из различных основных браузеров.

0

Решение jQuery будет выбирать последний вход и затем фокусировать его, где #ordertype - это идентификатор контейнера:

$ ("#" + orderType + "input: last"). focus();

  • 0
    Не совсем, orderType - это идентификатор переменной. Должно быть $("#" + orderType + "input:last")
  • 0
    Спасибо поправлю, это лучше твой селектор

Ещё вопросы

Сообщество Overcoder
Наверх
Меню