0

ユーザーが値、名前、iframeページを取得するチェックボックスをオンにすると呼び出される関数があり、その情報を連結して配列にプッシュします。これが関数です。

parent.genL = new Array();
 function repGenChk() {
 var chkN = this.name;
 var chkV = this.value;
 var chkP = parent.document.getElementById("selOpt").selectedIndex;
 var chkArr = chkN+":"+chkV+":"+chkP;
 parent.genL.push(chkArr);
 alert(parent.genL[parent.genL]);
}

私が抱えている問題は、アラートが発生したときです。すべての配列項目は、「:undefined:X」Xがページ番号です。配列にプッシュされた各アイテムについては、「3041:3041:3,1002:1002:1,10294:10294:10...」などのようになります。取得するのはiframeページID(chkP変数で呼び出されるselOpt変数)だけです。私は「これ」を間違って扱っていると思いますが、どうやって間違って扱っているのかわかりませんか?チェックボックスの例は次のようになります...

<input type="checkbox" onclick="repGenChk();" value="9059" name="9059">

つまり、ユーザーがチェックボックスをクリックして目的のサムネイルを選択すると、チェックボックス関数が実行され、「x:x:x」アイテムが配列にプッシュされます。後で、iframeページ間で何度もチェックした後、他のものが取得されます。その情報で行われます。

あらゆる情報、ヒント、考え、建設的な批判は大歓迎です!StackOverflowコミュニティにご協力いただきありがとうございます。

:)

4

1 に答える 1

1

'this'をrepGenChk()に渡す必要があると思います。現状では、repGenChk()に何も渡していないため、this.nameとthis.valueはrepGenChk関数内で未定義です。

入力タグの場合:

<input type="checkbox" onclick="repGenChk(this);" value="9059" name="9059">

repGenChk関数の場合:

parent.genL = new Array();
function repGenChk(obj) {
    var chkN = obj.name;
    var chkV = obj.value;
    var chkP = parent.document.getElementById("selOpt").selectedIndex;
    var chkArr = chkN+":"+chkV+":"+chkP;
    parent.genL.push(chkArr);
    alert(parent.genL[parent.genL]);
}
于 2012-11-12T03:41:27.057 に答える