web-dev-qa-db-ja.com

Jqueryを使用して入力フィールドのName属性を設定するにはどうすればよいですか?

簡単な質問...私はこれをどのように実現できるのか疑問に思っていました。

さて、次のような入力フィールドがあります:

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

IDが#resetPromptのdivをクリックし、入力から空の名前attrに「other_amount」を入力します。

長い一日でした

みんなありがとう、

マット

30
TikaL13
$('#resetPrompt').click(function(){
    $('#input1').attr('name', 'other_amount');
});
58
Alex Weber

これは、世界中のすべてのGoogleユーザー向けです。

アレックスの提案は、ほとんどの「実際の」ブラウザでは機能しますが、8以下では機能しないことに注意してください(jquery 1.6.2)。 Microsoftは、入力フィールドの「name」属性を設定する際に、バグに対処するために、動的な入力フィールドがDOMに接続されている場合に架空の「submitName」属性を追加しました。

問題を回避するには、ユーザーにアップグレードを強制するか、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\');" />');
});
4
eugene

「other_amount」が他の入力のIDである場合、次のように attr および val を使用します。

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

「other_amount」が対応する入力のidではなく名前であると仮定します。

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