Jqueryがフォーム値をクリアしないようにする方法はありますか?
次のJqueryスクリプトを作成しました。このスクリプトは、基本的にフォームのPOSTデータをphp関数に送信し、PHP出力が成功した場合は新しいページにリダイレクトし、失敗した場合はエラーを表示します。
$('#update').click(function(e) {
e.preventDefault();
$.ajax({
type: "POST",
url: 'function.php',
data: $(this).serialize(),
success: function(data)
{
if (data === 'Success') {
window.location = 'acc.php';
}
else {
alert('Please try again.');
}
}
});
});
そして、フォームの値は、次のようにphp変数をエコーアウトすることによって入力されます。
<input type="text" name="name" id="name" value="<?php echo $name ?>">
ページの読み込みではすべて問題ありませんが、フロントエンドフォームを介してフィールドの値を更新し、送信を押すと、Jqueryはフィールドのすべての値を削除し、空白の値をphp(DBに入力されます)に送り返し、にリダイレクトします。成功メッセージが返される新しいページ。
Jqueryを削除し、フォームをphpに直接送信しようとしましたが、正常に機能したため、間違いなくJqueryの問題です。
編集:PHP変数は別の関数から取得され、その特定のページが最初にロードされたときに、最初はフィールドに正しく表示されます。
問題が何であるかについてのアイデアはありますか?