【发布时间】:2014-11-20 21:28:12
【问题描述】:
我有一个测试网页,我在服务器端的文件中保存了一些文本。有一个脚本通过函数 saveFile() 完成所有工作。它在按钮的 onclick 事件上工作正常,但是当我将它设置为表单的 onsubmit 事件时,它会进入脚本但不执行 ajax 保存部分。
index.html
<html>
<head>
<script>
function saveFile() {
var xmlhttp=new XMLHttpRequest();
var data = new FormData();
data.append("data" , "teeeexxxxtttt");
xmlhttp.open("POST","ajax.php",true);
xmlhttp.send(data);
}
</script>
</head>
<body>
<form onsubmit="saveFile()" method="post">
<input type="text" name="test"><br>
<input type="submit" value="Submit">
</form>
<button type="button" onclick="saveFile()">Click Me!</button>
</body>
ajax.php
<?php
if(!empty($_POST['data'])){
$data = $_POST['data'];
$fname = mktime() . ".txt";
$file = fopen($fname, 'w');
fwrite($file, $data);
fclose($file);
}
?>
有什么问题?
【问题讨论】:
-
我认为您需要停止表单的默认操作
-
控制台是否有任何错误?
-
你应该返回一些东西。
return true; -
究竟什么是“不工作”?
-
将表单的默认操作更改为我自己的没有帮助。
标签: javascript php html ajax