0

Firefox と Safari で次のコードに問題があります。ページにはアイテムがリストされており、このコードにより、ユーザーは結果をフィルタリングできます。そのため、ユーザーはフィルター アイテムを選択して [GO] ボタンを押すと、結果を含むフレームがフィルターされたアイテムのみでリロードされます。フレームは、このコードが含まれている別の ASP ページを介して読み込まれます。

これは Internet Explorer では正常に機能しますが、Firefox や Safari では機能しません。何も起こりません。Firebugを実行しましたが、ifステートメントでパラメーターが正しく生成されています。リロードが発生しないようです。その別のフレーム/ASP を単独で実行し、URL を使用してパラメーターを手動で入力すると、Firefox で正常に動作します。したがって、reload ステートメントを使用したものと思われます。私は何を間違っていますか?

function Reloadit() {
    var params = "";
    if (Payload.value != "") {
        params +=('Payload='+Payload.value)+'&'
    }
    if (Status.value != "") {
        params +=('Status='+Status.value+'&')
    }
    if (Assignee.value != "") {
        params +=('Assignee='+Assignee.value+'&')
    }
    if (SearchWord.value != "") {
        params += 'SearchWord='+SearchWord.value+'&SearchField='+SearchField.value+'&'
    }
    window.parent.frames["list"].location.reload('PAILReports.asp?'+params);
}

<input type="button" style="MARGIN-TOP:6px" value="GO" onclick="Reloadit(true);">
4

1 に答える 1

0

そもそもあなたのコードは機能しないはずなので、ここでは IE に問題があります。

すべきことwindow.location.reload(forceget)は次のとおりです。

現在の URL からドキュメントを再読み込みします。forcegetはブール値で、 の場合true、ページは常にサーバーから再ロードされます。指定されているfalseか指定されていない場合、ブラウザはキャッシュからページをリロードすることがあります。

ソース: window.location - MDN # メソッド

ご覧のとおり、 の引数はURL として解釈されるreload()べきではありません。

別のページを開くには、次のコマンドを使用できます。

window.parent.frames["list"].location = 'PAILReports.asp?'+params;
于 2012-05-14T17:26:18.187 に答える