2011-02-02 10 views
0

前の質問(previous question here)に続いて、私が抱えている問題は、フォームアクションが '#'であるときにフォームを介して値を渡し/ 。私はセッションデータを試しましたが、常にデータベースから最後の項目を返します。それ以外は何も返しません。PHPが同じページ内のポップアップフォームに変数を渡す

すべてのヘルプ/アイデア/アドバイスは大いに受け、これは、項目のリストを表示するコードがある

S.(以下コード)、ポップアップウィンドウの1つのインスタンスへのメール」リンク/ボタンを含む各/フォームはページの下部にあります。

<?php     
$query = mysql_query("select * from istable where categoryID = '1'");  
while ($result = mysql_fetch_array($query)) {    
echo '<h4>'.$result['title'].'</h4> 
<p>'.substr($result['descrip'],0,408).'... <a href="'.$wwwUrl.'/p/'.$result['categoryID'].'-'.$result['title'].'.php""><strong>Read more</strong></a></p> 

<form action="#" method="post" rel="#sheet" class="see">          
<input type="hidden" name="propTitle" value="'.$propResult['title'].'"> 
<input type="submit" name="submit" value="Email"> 
</form> 
    ';   
} 

?>

これはjqueryのを介して呼び出され、同じページの下部にあるポップアップ・ウィンドウ/フォームのコードです。

<div id="sheet" class="rounded"> 
    <!--{{{ pane1 --> 
     <div class="pane" id="pane1"> 
     <h4>Email Details to a Friend</h4>    
     <p>You have selected to forward the details of <?php echo $_POST['propTitle']; ?> to a friend.</p> 
     <p>Please fill out the following form</p> 
      <form class="rounded" id="email-form" method="post" action="<?php echo $pageLink; ?>"> 
      <!-- form goes in here -->     
      </form> 
     </div> 
     <!--}}}-->     
    </div> 

    <script type="text/javascript">   
    $(".see").overlay({mask: '#999', fixed: false}).bind("onBeforeClose", function(e) { 
    $(".error").hide(); 
    });   
    </script> 
+0

なぜアクションで「#」を使用していますか?同じページに送信する場合は、削除することができます。または '?'を使用します。代わりに。 – Arvin

答えて

1

なぜこのためにPHPを使用していますか?ポップアップが同じページから呼び出された場合は、JavaScriptを使用してDOM要素の値を取得し、データを処理する必要がある場合はAJAXを使用します。

+0

どうもありがとうございます。何を検索する必要がありますか? – ss888

+0

送信を取り除き、ボタンを使用する必要があります。ボタンを使用して、定義されたJavaScript関数を呼び出すonclick属性を追加します。その関数内で、jQuery AJAX呼び出しでデータを処理し、ポップアップを開きます。 jQuery selectで値を取得します。フィールドにID属性を追加する必要があります。 jQueryセレクター:$( 'name')。val()。 – Darren

関連する問題