単純な JS 複製関数を使用して div を複製しています。内部には、「getOrRequest」と呼ばれる 1 つのグループを含むラジオ ボタン付きのフォーム情報があります。各 div は本を表し、独自の「getOrRequest」値を持つ必要があります。
他のすべてのラジオ ボタンに影響を与えることなく、複製されたラジオ ボタンの各グループを選択可能にするために、名前を変更する必要があります。これらの値を変更する最良の方法は何ですか?
問題が発生した場合に備えて、divを複製する方法を次に示します。
var bookInfo = document.getElementById('bookInformation');
var copyDiv = document.getElementById('addListing').cloneNode(true);
bookInfo.appendChild(copyDiv);
次に、名前の値を変更する方法をいくつか試しました。このような:
bookInfo.copyDiv.getOrRequest_0.setAttribute("name", "'getOrRequest' + idNumber + '[]'");
bookInfo.copyDiv.getOrRequest_1.setAttribute("name", "'getOrRequest' + idNumber + '[]'");
これと同様に:
bookInfo.copyDiv.getOrRequest_0.name = 'getOrRequest' + idNumber + '[]';
bookInfo.copyDiv.getOrRequest_1.name = 'getOrRequest' + idNumber + '[]';
getOrRequest_0 と getOrRequest_1 は入力値の ID ですが、いくつかの方法で試してみましたが、何も機能していないようです。前もって感謝します!
編集: 詳細情報
私が使用している特定のコードは次のとおりです。
function addAnotherPost(){
var bookInfo = document.getElementById('bookInformation');
var copyDiv = document.getElementById('addListing').cloneNode(true);
var size = copyDiv.childNodes.length;
copyDiv.id = 'addListing' + idNumber;
for(var j = 0; j < size; j++){
if(copyDiv.childNodes[j].name === "getOrRequest[]"){
copyDiv.childNodes[j].name = "getOrRequest" + idNumber + "[]";
}
}
bookInfo.appendChild(copyDiv);
idNumber++;
}
そして、それはうまくいかないようです..divは複製されていますが、名前の値は変更されていません。