Установите значение по умолчанию (значение будет отображаться после формы сброса) ввода HTML, созданного динамически jQuery

У меня есть входные данные, созданные динамически с помощью jQuery, я установил для него значение инициализации и хочу, чтобы оно сохраняло это значение как значение по умолчанию (появится снова после сброса формы). Я искал вокруг, но не могу найти решение.

Чтобы было ясно, после того, как кто-то оценит мой вопрос, значение по умолчанию здесь не является значением, хранящимся в заполнителе (исчезнет, ​​когда ввод будет сфокусирован), это настоящий редактируемый текст!

Я нашел решение! при сбросе формы веб-браузер возьмет текст в атрибуте «значение» входных данных и снова отобразит его как текст по умолчанию. Итак, если мы создаем новый элемент ввода, мы должны присвоить ему атрибут «значение». В jQuery вместо использования метода val(), который только временно изменяет видимое значение элемента, но не перезаписывает атрибут значения ввода, мы должны использовать метод attr('value', newValue)


person Hieu Vo    schedule 06.02.2013    source источник
comment
мое текущее решение вместо сброса, я должен удалить и создать его снова (со значением инициализации) и вставить его туда, где он есть   -  person Hieu Vo    schedule 06.02.2013
comment
Обратитесь к этому заголовку stackoverflow.com/questions/8937113/   -  person Renjith JR    schedule 06.02.2013
comment
@RenjithJR: ответ в вашей ссылке предпочитает атрибут-заполнитель (а не то, что я хочу), другой ответ использует javascript для сохранения значения и его повторной установки (для меня бессмысленно)   -  person Hieu Vo    schedule 06.02.2013


Ответы (1)


Вы можете попробовать установить значение в элементе по мере его создания. JSFiddle: http://jsfiddle.net/turiyag/UG7uw/6/

$("form").append('<input type="text" value="456" />');
$(":button").click(function(){
    $("form").reset();
});

ИЗМЕНИТЬ:

Глядя на ваш код, я думаю, вам нужно внимательнее присмотреться к тому, как прикреплять события к элементам. В этом примере показано, как запустить код Javascript, который запускается при событии "щелчок". Обратите внимание, что Javascript для страницы находится в поле Javascript в JSFiddle. http://jsfiddle.net/turiyag/uUCGV/8/

Кроме того, для «пустых элементов» они должны быть закрыты «/>» в конце тега. Например:

<input type="text" value="foo" />

Я бы избегал использования клонирования для элементов, которым присвоен «id». clone() также скопирует атрибут id и атрибут начального значения. Создание новых элементов намного чище.

Кроме того, символ «$» обычно можно использовать вместо «jQuery» в вашем коде. Это позволяет намного меньше печатать.

Код в примере установит начальные значения «Вход № 1», «Вход № 2» и т. д. Кнопка сброса сбросит форму до этих значений.

event.preventDefault() предотвращает действие по умолчанию отправки формы из элемента, по которому щелкнули.

Это отвечает на вещи?

person turiyag    schedule 06.02.2013