ここに PHP/Ajax の初心者がいます...テキストエリアの内容を Ajax 経由で MySQL に保存しようとしています。データは正しく保存されていますが、Ajax はまったく機能していません。基本的に、Ajax とは異なり、データが保存された後にページが "再読み込み/更新" されます。私が間違っていることを教えてください。
index.html:
<form action="save.php" method="post" id="source-form">
<span><input type="submit" value="Save" /></span>
<div>
<textarea id="editor" name="editor" >
</textarea>
</div>
</form>
JavaScript:
$(document).ready(function() {
$("#source-form").submit(function(){
$.ajax({
url:"save.php",
type:"post",
data:$(this).serialize(),
success: alert('saved');
});
});
save.php
<?php
// connect to the database
include('connect-db.php');
// get form data, making sure it is valid
$submit_date = date('Y-m-d H:i:s');
$content = mysql_real_escape_string(htmlspecialchars($_POST['editor']));
//build query
mysql_query("INSERT source SET submit_date='$submit_date',content='$content'")
or die(mysql_error());
header('Location: index.html');
?>
これに関するヘルプをいただければ幸いです。ありがとうございました。
編集: 同じ問題または類似の問題に遭遇した人々のために...ここに素晴らしい解決策があります: http://jquery.malsup.com/form/#getting-started