2011-12-16 8 views
1

POSTを使用して送信するフォームがあり、フォームのajax送信に変換したいと思います。私は、データを取得

<script type="text/javascript"> 
    $("#optionsForm").submit(function(){ 
      var data= $("#optionsForm").serialize(); 
      $.ajax({ 
        url: 'filter.php', 
        type: 'post', 
        data: data, 
        success: function(data){ 
          alert(data); 
        } 
      }); 
      return false; 
    }); 
</script> 

<?php 
$html = ""; 
$html .= "<div id='options'>"; 
$html .= "<form id='optionsForm' method='post'>"; 
foreach($selectValues as $key => $value){ 
    $title=new MODEL\String($key); 
    $html.= "<fieldset class='optionsBox'>"; 
    $html.= "<legend>".$title->friendlify()."</legend><br/>"; 
    foreach($value as $option){ 
      $html .= "<input type='checkbox' name='".$key."[]' value='$option'>".htmlspecialchars($option)."</input>"; 
    } 
    $html.= "</fieldset>"; 
} 
$html .= "</select><input type='submit' value='submit'></form></div>"; 
$html .= "<div id='tables'></div>"; 

:私は、私は、フォームはそれだけでPOST

いくつかのコードを実行するのと同じことになるだろうデータFOMをシリアル化するときの内側.ajax機能を.submit機能を使用する場合:.submit(function)を使用して

if(!empty($_POST)){ 
    $filterValue=$_POST; 
} 
else{ 
    $filterValue="y"; 
} 
+0

コードを投稿できますか? –

+0

あなたは火かき棒のコンソールタブを使ってあなたの投稿を見ることができます。 view XMLリクエスト/エラーをチェックするだけです。 – Rooster

+0

0.o ....英語お願いします –

答えて

0

はちょうど提出するAJAX呼び出しを結合し、その提出する前に、あなたはおそらく、ページを残しています。 ajax呼び出しを送信ボタン(例として)のクリックイベントにバインドし、デフォルトの送信を禁止する必要があります。

0

はい、すべてのフォーム変数はシリアル化され、action = "post"というフォームのようにPOSTリクエストで送信されます。バックエンドでは、フォーム処理スクリプトからどの出力が渡されるか、JavaScriptがその出力(つまり成功または欠落フィールドX)を処理する方法以外は変更しないでください。

関連する問題