![](/img/trans.png)
[英]AJAX POST XMLHttpRequest javascript and php cant save into text file
[英]How to POST a table to PHP and save it as a text file
我有以下程序用于表单数据。 我有用于输入值的文本框。 当我单击“提交”输入这些内容后,它应该在下面显示输入值,并且文本框应该重置。 我可以输入另一组输入并提交。 它应该显示在前一个下方。 现在这是我面临的实际问题。 有一个保存按钮。 当我单击它时,应该使用PHP将表输入保存到我的PC中。但是它不起作用。 而不是保存文件,而是在下面添加另一行。
以下是我的html和PHP代码。 请帮忙..!
的HTML
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Form download</title>
<script type="text/javascript" src="jquery-2.1.4.js"></script>
<style>
.results {
width: 600px;
margin-top: 30px;
text-align: center;
border: 1px solid #999;
}
</style>
</head>
<body>
<form name="form" method="POST" action="excel.php" >
<table>
<tr>
<td style="text-align:left">Option 1</td>
<td><input type="text" id="text" name="option1" size="20"></td>
<td style="text-align:left">Option 2</td>
<td><input type="text" id="text" name="option2" size="20"></td>
</tr>
</table>
<br/>
<input type="submit" value="save" >
<div class="buttonHolder">
<input type="submit" name="submit" value="submit" onClick="insertData()" id="btn_s" />
<input value="reset" type="reset" id="btn_i" />
</div>
</form>
<script>
$(function insertData() {
$('form[name="form"]').submit(function(e) {
e.preventDefault();
var name = $('input[name="option1"]').val(),
sName = $('input[name="option2"]').val();
$('body').append('<table class="results">'
+'<tr>'
+'<th>Option 1</th>'
+'<th>Option 2</th>'
+'</tr>'
+'<tr>'
+'<td>'+name+'</td>'
+'<td>'+sName+'</td>'
+'</tr>'
+ '</table>');
// $('input[type="reset"]').click(function() {
// ($('#text').val()).remove();
});
});
</script>
</body>
</html>
的PHP
<?php
$myfile = fopen("newFile.txt", "w") or die("Unable to open file!");
$txt= 'Option 1 ' ."\t" .'Option 2 ' ."\r\n"
.$_POST['option1'] ."\t" .$_POST['option2']."\r\n"
.$_POST['option3'] ."\t" .$_POST['option4'] ."\r\n".$_POST['option5'] ."\t" .$_POST['option6'] ."\r\n" ;
fwrite($myfile, $txt);
fclose($myfile);
?>
请帮助..我被困了两天..
这样可能会更容易:
$header = "Option 1 \t Option 2\n";
file_put_contents("newFile.txt", $header, FILE_APPEND );
foreach($_POST as $key => $value) {
file_put_contents("newFile.txt", $value."\n", FILE_APPEND );
}
在HTML中,您需要将“提交”按钮的类型从“提交”更改为“按钮”。 并将您的脚本更改为-
$(function insertData() {
$('#btn_s').on('click', function(e) {
var name = $('input[name="option1"]').val(),
sName = $('input[name="option2"]').val();
$('body').append('<table class="results">'
+'<tr>'
+'<th>Option 1</th>'
+'<th>Option 2</th>'
+'</tr>'
+'<tr>'
+'<td>'+name+'</td>'
+'<td>'+sName+'</td>'
+'</tr>'
+ '</table>');
// $('input[type="reset"]').click(function() {
// ($('#text').val()).remove();
});
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.