2012-03-09 12 views
0

私はそれにフォームを持っているダイアログを持っていて、フォームが提出されると、それは場所を送信するでしょう、私のダイアログがiFrameのように働いていることを確認して、新しいフォームの場所?jQuery UIダイアログ - iFrameのように機能しますか?

+0

は、あなたがそれを – dotoree

+0

を行うことができます@dotoreeいや、それはまだ私がする唯一の方法だと思い – sed

+0

が私のブラウザをリダイレクトしますこれはあなたのダイアログに実際のiframeを置くことです。しかし、ターゲットサイトは引き続きwindow.topを使用してフレームの「ブレークアウト」を行い、ウィンドウ全体を制御できることに注意してください。 – Dave

答えて

0

<iframe id=herpaderp></iframe>をダイアログに置き、formにプロパティtarget=herpaderpを設定します。

これにより、フォームのPOST結果がiframeにロードされます。

フォームがダイアログ内にもある場合、送信中にフォームを非表示にするには、ロジックをsubmitボタンに追加する必要があります。 !


/\ IE8のためのノート - 私はこれをしようとしたとき、それはiframe内部からの印刷トラブルがありました。

0

あなたは次にあなたがリダイレクトを防ぐために、外部のページ内の要素のクリックをバインドすることができ、AJAXを使用してフォームを送信して、ダイアログでの応答を示し、

ことができます。それでもリンクをたどりたい場合は、クリックしたリンクに別のAjaxリクエストを行い、ダイアログにレスポンスを表示することができます。それは別のサイトを開き、誰かがそれにリンクをクリックした場合

//you might need to edit the selector 
$('#mydialog a').click(function(e){ 
    e.preventDefault(); 
    //here you need to perform a ajax request to $(this).attr("href") 
    //and show the response in #mydialog again 
}) 

これが役に立てば幸い、AJAXを通じて

関連する問題