2011-11-10 8 views
2

メインページにはいくつかのフォーム要素があり、送信をクリックすると、 $ _POSTパラメータを指定して "search.php"ページをリダイレクトする必要があります。クリックした後の親リダイレクト

<form name="form1" id="form1" action="search.php" method="POST"/> 
     <input type="radio" id="domestic" name="select" value="domestic"/> 
     <input type="submit" id="search" value="Search"/> 
    </form> 

    $(document).ready(function(){ 
     $("#search").click(function(e){ 
     e.preventDefault(); 

        var obj = $('#form1').serialize(); 
       $.ajax({ 
       type:"POST", 
       url:"search.php", 
       data:obj,   
       success:function(data){ 
        alert(obj); 
        // parent.tb_remove(); 
        window.location.href ="search.php"; 
          } //success 
       }); 

     }); 
    }); 

search.php

echo $_REQUEST['obj']; 

の下に与えられた私のコードAjaxが提出した後、それがページをsearch.phpするredirecr、しかし、それは私が送られてきたポスト値を持っていませんでしたクライアント側から?どのようにクライアント側からサーバー側にパラメータを渡し、パラメータを渡すか?

それは私がplugin.Mainページライトボックスを使用していますアップページがポップアップであり、[検索]をクリックした後、私は新しいリンク

+1

フォームの 'action'属性のURLに行く通常のものにブラウザを任せるのではなく、なぜAJAX呼び出しをしてリダイレクトするのか聞いてもよろしいですか? –

+0

上記のライトボックスのポップアップを呼び出そうとしています – venkat

+0

どのページについて、どのコンテンツについてですか? –

答えて

0

でライトボックスを閉じ、親リンクをリダイレクトする必要がありますあなたが作ることができないポップでありますPOSTリクエストと一緒にそこに行ってください。あなたが本当に夢中なら、代わりにGETリクエストを使用し、Ajaxの部分を避けるべきです。

また、私はあなたが本当にそのフォームを「提出している」ので、あなたがしたいことをするのは得策ではありません。ただそれを提出する!

0

は私が推測する必要がしかし、あなたは、「ファーストネーム」のような名前の入力要素を持っている場合、それは

1)

var obj = $('#form1').serialize(); 

を;-)で時々私は良いです、この機能意志「LASTNAME」これはそのような文字列に変換します)

"firstname=VALUEOFINPUTHERE&lastname=VALUEOFINPUTHERE" 
function(data){ 
    alert(obj); 
    // parent.tb_remove(); 
    window.location.href ="search.php"; 
} 

そのアラートは機能しません。 objはその関数の中で定義されていません。アラート(データ)を使用する。

3)echo $_REQUEST['obj'];

あなたのページに渡される何のparam objはありませんが、objがjavascriptの変数の名前だけで上記の言ったように、実際のデータは(ある)firstname=VALUEOFINPUTHERE&lastname=VALUEOFINPUTHERE

だからべきどちらかprint_r($_REQUEST);またはecho $_REQUEST['firstname'];

よろしく

PSを試してみてください:Plsは私が右の推測なら、私に知らせ;)

関連する問題