2011-12-04 26 views
2

iframeを使用してログインを処理しようとしていて、出力に応じて親ページを変更しようとしています。iframe内から親ページを変更する

function results(status) 
{ 
    req = new XMLHttpRequest(); 
    req.open('GET', '../design/loginbox.php', false); 
    req.send(null); 

    alert(req.responseText); 

    top.document.getElementByID['loginbar'].innerHTML = req.responseText; 
} 

私は、これは互換性か何か交差されていない知っているが、現時点では、私はちょうどテストしている:私はここにはJavaScriptをトレースしてきました。アラートは正しい出力を示しますが、親ページは決して変更されません。私はどこに間違っているのか誰にでも見える?

おかげで、Piepieonlineは

答えて

0
top.document.getElementById('loginbar').innerHTML = req.responseText; 

getElementByIdされますメソッド...あなたはそれを配列のように使用しないで呼び出す必要があります。

+0

実際、これが答えです。修正された行は、 "top.document.getElementById( 'loginbar')。innerHTML = req.responseText;"です。そんなにありがとう!奇妙な問題 - Google Chromeでは、これは最初の読み込み時に機能しますが、ログアウトしてもう一度やり直すと、ブラウザを再度開くまで機能しません。 – Thomas

+0

このエラーは、別の場所にあったはずです。それは今、すべての作品、ありがとう。 – Thomas

0

はたぶんそれはタイプミスですが、あなたはgetElementById('loginbar') 'D' を持つべき議事堂すべきではない、あなたが使用する必要があります()とここではない[]

0

私はそのようなオフの情報を渡すために知っている唯一の方法は、base64でエンコード経由で base64encode

ようにあなたが行うことができます:あなたは、他のウィンドウにデコードする必要があり

window.parent.location = '?loginbar='+Base64.encode('"+req.responseText+"'); 

と:

var loginbar = Base64.decode(this.utils.getUrlVar('loginbar')); 

PD:utils.getUrlVar、window.searchをループしてください。応答がjsonであるとします。

関連する問題