jQuery ajaxはモーダルでリフレッシュしません
-
26-10-2019 - |
質問
MySQLデータベースから引き出されたニュースページからコメントを表示するために、Fancybox Modalを使用しています。モーダルには、ユーザーが新しいコメントを投稿できるセクションもあります。 jqueryを使用して、処理のためにフォーム情報を別のスクリプトに送信しています。
成功したメッセージを返す代わりに、情報を投稿し、モーダルに情報を表示する代わりにページにリダイレクトしています。
これがこれを起こさせるべきjQueryです:
$(document).ready(function(){
$("#submit").click(function() {
/* Set some vars */
var messageText = $("textarea#message").val();
var newsID = $("hidden#newsid").val();
$.post('/process/newmsg.php',
{ message : messageText, newsid: newsID },
function(data) {
$("#fancybox_content").before(data);
}
);
});
});
ここで何が欠けているのか考えてみませんか?
解決
これは有効なセレクターではありません:$( "Hidden#NewsID")。したがって、「NewsID」は空で、投稿パラメーターは構文エラーを与えます
{ message : messageText, newsid: },
他のヒント
$( "#fancybox_content")。html(data);
()がfancybox_contentの内側に結果を配置する前に、それを前に置きます。
また、結果がヘッドとすべてを含む完全なHTMLドキュメントである場合、問題を引き起こします。最初に結果を解析する必要があります
仮定します #submit
送信ボタンです。フォームを送信するボタンのデフォルト動作をキャンセルする必要があります。クリックハンドラー関数からfalseを返すか、使用するか e.preventDefault()
.
所属していません StackOverflow