Подтвердить что ты не робот

Как установить атрибут Name поля ввода с помощью JQuery?

Быстрый вопрос... Мне было интересно, как я могу добиться этого.

Хорошо, у меня есть поле ввода, подобное такому:

<input type="text" id="input1" size="10" name="" value="" class="checked other_amount" onfocus="Toggle('radio1', 'input1');" />

Я бы хотел нажать на div с идентификатором #resetPrompt и заполнить пустое имя attr из ввода с помощью "other_amount"

У меня нет идей, что это был долгий день

Спасибо, ребята,

Matt

4b9b3361

Ответ 1

$('#resetPrompt').click(function(){
    $('#input1').attr('name', 'other_amount');
});

Ответ 2

Это для всех гуглеров:

Следует отметить, что предложение Alex, хотя и работает в большинстве "реальных" браузеров, не работает, т.е. 8 и ниже (jquery 1.6.2). При настройке атрибута "name" поля ввода, Microsoft, для устранения ошибки, добавлен фиктивный атрибут "submitName", когда к DOM прикреплены динамические поля ввода.

Чтобы обойти проблему, например, либо заставить пользователей обновляться, использовать Firefox, Chrome и т.д., либо вам нужно будет добавить поле ввода вручную:

$("#resetPrompt").click(function(){
   $("#input1").remove();
   $("#input_container").append('<input id="input1" name="' + other_amount + "' type="text" class="checked other_amount" onFocus="Toggle(\'radio1\', \'input1\');" />');
});

Ответ 3

Если "other_amount" является идентификатором другого входа, используйте attr и val следующим образом:

$("#resetPrompt").click(function(){
    var otherValue = $("#other_amount").val();
    $("#input1").attr("name", "someName");
}

Ответ 4

Предполагая, что "other_amount" - это имя, а не идентификатор соответствующего ввода.

$('#resetPrompt').click( function() {
   $('#input1').attr('name', $('[name=other_amount]').val());
});