0

キーワードで検索する単一のフォームがあります。フォームは別のページへの ajax リクエストを実行し、結果を success 関数に出力します。

たとえば、映画のタイトルを検索しています。したがって、「エルム街の悪夢」AJAX POST を別のページに入力すると、ページは GET を受け取り、$('#status').html(response);

各結果は、映画のタイトルと「Go」入力ボタンを含むフォームであり、ユーザーは「はい、これは私が欲しい映画です」と言うことができます。

応答が正常に入力され始め、突然、結果が終了する前にランダムな形式の応答が送信され始めます。

「映画のタイトル」キーワードを取得して結果を入力するコードは次のとおりです。

<?php
   $myid = strtoupper($_REQUEST['thetitle']);

   $titles = $tmdb_V3->searchMovie($myid,'en');

   foreach($titles['results'] as $result) {

   ?>
   <form name="<?php echo htmlspecialchars($result['id']); ?>">
      <input type="hidden" name="mid" id="<?php echo htmlspecialchars($result['id']); ?>" value="<?php echo htmlspecialchars($result['id']); ?>" />
         Title: <?php echo htmlspecialchars($result['title']); ?>
      <input type="submit" name="submit" class="button" value="Go"></div>
   </form>
<?php
}
?>

<script type="text/javascript">
   $(document).ready(function(){
       $("form").submit(function() {
           var id = $(this).children('input[type="hidden"]').attr('value');
           $.ajax({
           async: false,
               type: "POST",
               url: "sx.php",
               data:"mid="+ id,
               cache: false,
             timeout: 30000,
               success: function(data){
   $('#status').html(data);
               }
           });
          return false;
      });
   });

</script>

私が言ったように、結果は #results div に入力され始め、結果を完了する前に突然「新しい」POST 要求が送信されます。

「検索 => 結果 => 映画情報を取得」という 3 ステップの機能です。

結果は「不明」です結果の配列がわからないため、.when を使用できないと思います

これはfirebugのスクリーンショットです: http://i.imgur.com/IUbHRdw.jpg

最初の ajax リクエストが完了し、ユーザーが実際に新しい送信ボタンをクリックするまで、新しいフォームの送信を停止するにはどうすればよいですか?

4

0 に答える 0