これは本当にイライラします。これについて何か助けていただければ幸いです。コメントと呼ばれる div と、その div 内にフォームがあります。私がやりたいことは、フォームを現在のページに投稿し、全体をリロードせずに div 内にロードすることです。これが私の現在のコードです:
<div id="comments">
<form action="#" method="post" onsubmit="return false;" >
<input type="hidden" name="txtname" value="test">
<textarea id="wysiwyg" name="wysiwyg" rows="5" cols="50"></textarea>
<input type="submit" name="post" id="post" value="Submit">
</form>
<script type="text/javascript">
EDIT: Read edit below for current code
</script>
</div>
送信すると、アラートが発生しますが、ページが読み込まれません。次のようにイベントを作成すると、正常に動作します。
$("#comments").load("comments.asp");
データの投稿が好きではありません。以前に .load を使用したことがありますが、データを投稿することはありませんでした。これらのまったく同じフォーラムから上記のコードを取得しました。
正直なところ、'name' と 'tel' の目的がよくわかりません。コードを処理するときに、これらの変数またはフォーム変数名を参照する必要がありますか? これは ASP クラシックにあります。
上記のコードの何が問題なのですか? POST 経由でフォーラムからデータを送信するにはどうすればよいですか? ありがとう!
編集:私は今、次のコードを使用しています:
$("#post").submit(function(event){
var $form = $(this),
$inputs = $form.find("input, select, button, textarea"),
serializedData = $form.serialize();
$inputs.attr("disabled", "disabled");
$.ajax({
url: "/comments.asp",
type: "post",
data: serializedData,
success: function(response, textStatus, jqXHR){
console.log("comment posted");
},
error: function(jqXHR, textStatus, errorThrown){
console.log(
textStatus, errorThrown
);
},
complete: function(){
// enable the inputs
$inputs.removeAttr("disabled");
}
});
event.preventDefault();
});
そして今、それはフォームを処理するために適切に使用しています...しかし、それはcomments.aspに行きます. 特定の div (コメント div?) ですべてのアクションを実行するにはどうすればよいですか?