0

このチュートリアルを実行しようとしています

私はまだ検証部分を実装していませんが、私の問題はこれに基づくべきではありません。これが私のコードです:

<script type="text/javascript">
$("#submitbutton").click(function () {
  var content = $.("#contentarea").val();
  $.ajax({
    type: "POST",
    url: "addArticle.php",
    data: content,
    success: $.("#addArticle").append("<p>ok</p>")
  });
  return false;
})
</script>

デモで見られるように、return falseステートメントのためにページを更新しないでください。また、getの代わりにpostを実行する必要があります。しかし、どちらもそうではありません。引き続きページをリロードし、指定されたコンテンツを引数としてURLに追加します。これを防ぐにはどうすればよいですか/私の失敗はどこにありますか?

これが全部です

4

2 に答える 2

3

あなたが従ったチュートリアルは正しくありません。フォームを送信するには、送信ボタンをクリックするだけでなく、さまざまな方法があります(たとえば、returnテキストフィールドで押すことができます)。submit()ボタンのイベントではなく、フォームのイベントにコードをバインドする必要がありますclick()

これを行ったら、ブラウザ内デバッガを使用して、フォームを送信するときにコードが実際に実行されているかどうかを確認します。

また、successパラメータは関数である必要があります。

submit: function() { $("#addArticle").append("<p>ok</p>") } 

編集:また、あなたは数回$.(の代わりに書いています。$(これによりランタイムエラーが発生し、送信をブロックするコードが失敗する可能性があります。

于 2012-06-26T12:39:53.107 に答える
0

まあまあまあ...

少し神経が少なくなると、それは機能します。jqueryフォームプラグインを使用することにしました

しかし、きっとあなたはそれを気に入るはずです、なぜそれが機能しているのか分かりません:

        <script> 

        $(document).ready(function() { 

            $('#addForm').ajaxForm(function() { 
                alert("ok"); 
            }); 
        }); 
    </script> 

    <div id="addArticle">
        <form id="addForm"  method="post" action="addArticle.php">

                <textarea id="contentarea" required="required" name="content">    </textarea>
                <br />
                <input type="submit" id="submitbutton">
        </form>
    </div>

著者はかなり良い仕事をしたと思います。グーグルでその問題を探している将来の人に私の解決策を伝えたかっただけです。

于 2012-06-26T14:13:23.030 に答える