送信ボタンのクリックイベントで出力を取得するためにAjaxとjQueryを使用しています
私は2つのファイルを持っています
Index.php
(jQuery & Ajax コードを含む)actionfile.php
(Ajaxコードで送信されたデータを抽出してファイルに格納するphpIndex.php
ファイル)
Index.php:
<!DOCTYPE html>
<html>
<head>
<script src="http://code.jquery.com/jquery-latest.js"></script>
</head>
<body>
<form name="myform" method="post">
<input type="text" name="txt1" id="txt1" value="121212"/>
<input type="submit" value="submit" id="submit" name="submit" />
</form>
<script>
$("#submit").click(function() {
var txt =document.getElementById('txt1').value; //textbox value
alert(txt);
var txt1 = "txt1="+txt;
alert(txt1);
$.ajax({
type: "POST",
url: "actionfile.php",
data:txt1,
success: function() {
alert("success");
}
});
});
</script>
</body>
</html>
そして actionfile.php:
<?php
error_reporting(E_ALL);
$map=$_POST['txt1'];
$fp=fopen("file.txt","w");
fwrite($fp,$map);
fclose($fp);
?>
問題は、コードを削除すると$("#submit").click(function()
ajaxが正常に動作することです。つまり、ページがロードされたときにデータを送信します(テキストボックスにデフォルト値を指定した場合)。コードを$("#submit").click(function()
そのままにしておくと、送信ボタンが押されたときにのみ関数が呼び出されますが、この場合は AJAX が失敗します。
コードはhttp://www.code.guru99.com/kishoreで入手できます。
この問題の原因は何ですか?