0

私は15年前のコードに取り組んでいますが、実際に設定されてIEで使用できるように見える行があります。実際にはもっと多くの行があり、他の ASP ページで参照されているため、その行を変更することはできません。悪夢です。コード:

parent.frmParent.id_item.value = '<%=Request("id_item")%>' //The actual string
                                                           //doesn't matter...

私はもう試した:

var parent.document.getElementById("id_item").Value
var parent.document.getElementById("frmParent")("id_item").Value

私は近いですか?DOM に存在する必要があります。

4

5 に答える 5

1

value(ではなく)小文字にする必要がありValueます...

parent.document.getElementById("id_item").value
于 2012-07-24T12:41:38.293 に答える
0

私は近いですか?DOM に存在する必要があります。

私はあなたが探していると思います.value-つまり、小文字だけです。

var val = parent.document.getElementById("id_item").value;

これは、 id を持つ要素から値を取得する方法id_itemです。

ただし、それはコードが行うべきことではないと思います...

于 2012-07-24T12:41:26.147 に答える
0

あ、今見ました。ここでの問題はおそらく、IE がドキュメント内の ID を対応するウィンドウ オブジェクトのプロパティとして自動的に追加することです。そのような場合、プロパティへのアクセスをdocument.getElementById(idName).

あなたの例を見ると、私の精神力は、それfrmParentが通常のJavascriptプロパティ(別のJavaScriptウィンドウを指している)であり、バンドid_itemが(祖父母文書内の何かの)要素IDであると言います。この場合は、次のように動作するかどうかを確認してください。

parent.frmParent.document.getElementById("id_item").value = /*...*/
于 2012-07-24T13:41:29.277 に答える
0

私はここでロングショットに行くつもりです:

<%=Request("id_item")%>id_item.NET Request オブジェクトのキーのクエリ文字列値を参照している可能性があります。代わりにこれを使用してみてください:

var qs = window.location.search(1);
var items = qs.split('&');
var pair;
var result;

for (var i = 0; i < items.length; i++) {
    pair = items[i].split('=');

    if (pair[0] === 'id_item') { // the QS key
        result = pair[1]; // the QS value
        break;
    }
}

var element = document.getElementById(result);

クエリ文字列ロジックを関数に入れる価値があるかもしれませんgetQuerystringValue(querystring, key).

ちなみに、プロパティは.valueではなく.Value、javascript では大文字と小文字が区別されます。

于 2012-07-24T12:48:33.387 に答える
0

あなたの投稿はタグ付けさjavascriptれていますが、このスニペットは間違いなくサーバー側です: <%=Request("id_item")%>.

これは単にコレクションid_itemからフィールドを出力しRequestます (または という名前のメソッドを呼び出す可能性がありますRequest)。このページの背後で実行されているサーバー側フレームワークを調べ、それに応じて投稿を更新する必要があります。使用している言語についての知識がなければ、これ以上のことはできません。

于 2012-07-24T12:52:42.213 に答える