通过jQuery/Javascript发布到php文件,将表单输出保存到文本文件?
我有一个简单的html表单,正如您在下面看到的,它已经预先填充了一些信息,用于示例目的 当前,当您单击提交时,表单将保存到谷歌文档中,该文档工作正常 但是我还希望它将表单输出记录/保存到页面所在服务器上的文本文件中 预填表格示例: 我希望记录/保存的格式如下所示,每一行都是一个新的表单提交 预期产出示例: 分隔字符必须是ASCII制表符 我需要能够使日志记录/保存队列本身,这样,如果两个人同时使用表单,就不会发生冲突,并且只有一个表单提交被记录/保存 我认为捕获/记录/保存表单的最佳位置是在表单提交到Google docs后触发的下面函数的开头通过jQuery/Javascript发布到php文件,将表单输出保存到文本文件?,javascript,php,jquery,html,Javascript,Php,Jquery,Html,我有一个简单的html表单,正如您在下面看到的,它已经预先填充了一些信息,用于示例目的 当前,当您单击提交时,表单将保存到谷歌文档中,该文档工作正常 但是我还希望它将表单输出记录/保存到页面所在服务器上的文本文件中 预填表格示例: 我希望记录/保存的格式如下所示,每一行都是一个新的表单提交 预期产出示例: 分隔字符必须是ASCII制表符 我需要能够使日志记录/保存队列本身,这样,如果两个人同时使用表单,就不会发生冲突,并且只有一个表单提交被记录/保存 我认为捕获/记录/保存表单的最佳位置是在表
function breakRedirect() {
$('#container').replaceWith('<div id="complete">Completed</div>');
};
函数breakRedirect(){
$(“#容器”)。替换为('Completed');
};
功能到目前为止。。。
这就是我到目前为止所拥有的,它的格式是正确的(当然javascript/jquery可能有点错误,但它可以工作),我现在需要找到一种方法,能够将它发布到php脚本?以便它排队并写入文件
function breakRedirect() {
var month = new Array();
month[0] = "01"; month[1] = "02"; month[2] = "03"; month[3] = "04"; month[4] = "05"; month[5] = "06"; month[6] = "07"; month[7] = "08"; month[8] = "09"; month[9] = "10"; month[10] = "11"; month[11] = "12";
var collection = new Date().getDate() + "/" + month[new Date().getMonth()] + "/" + new Date().getFullYear() + " "+ new Date().getHours() + ":" + new Date().getMinutes() + ":" + new Date().getSeconds();
var $inputs = $("input")
$inputs.each(function () {
var value = this.value;
if (value != "Submit Selections" && value != "Clear Selections") {
collection += "\t" + value
};
});
var $selects = $("select")
$selects.each(function () {
var value = this.value;
collection += "\t" + value
});
console.log(collection);
$('#container').replaceWith('<div id="complete">Completed</div>');
};
函数breakRedirect(){
var month=新数组();
月[0]=“01”;月[1]=“02”;月[2]=“03”;月[3]=“04”;月[4]=“05”;月[5]=“06”;月[6]=“07”;月[7]=“08”;月[8]=“09”;月[9]=“10”;月[10]=“11”;月[11]=“12”;
var collection=new Date().getDate()+“/”+月[新日期().getMonth()]+“/”+新日期().getFullYear()+“+新日期().getHours()+”:“+新日期().getMinutes()+”:“+新日期().getSeconds();
变量$inputs=$(“输入”)
$inputs.每个(函数(){
var值=此值;
如果(值!=“提交选择”&&值!=“清除选择”){
集合+=“\t”+值
};
});
变量$selects=$(“选择”)
$selects.each(函数(){
var值=此值;
集合+=“\t”+值
});
控制台日志(收集);
$(“#容器”)。替换为('Completed');
};
更新小提琴:
有什么想法吗?jQuery
$.ajax()
您可以使用jQuery.ajax函数发布文章。请参见下面的示例
$.ajax({
method: "POST",
url: "some.php",
data: { name: "John", location: "Boston" }
})
.done(function( msg ) {
alert( "Data Saved: " + msg );
});
对于数据属性,可以使用:
data: $('form#myForm').serialize(),
资料来源:
PHP
文件获取内容()和$发布[]
然后,可以使用$\u POST变量获取PHP文件中的值,并将其写入文件 获取值
// WARNING! You should do some valiadation before writing to the file!
<?php
$name = $_POST["name"];
$location = $_POST["location"];
$new_line = $name . "your tab ascii code" . $location . "\n";
$file = 'people.txt';
// Open the file to get existing content
$current = file_get_contents($file);
// Append a new person to the file
$current .= $new_line;
// Write the contents back to the file
file_put_contents($file, $current);
?>
//警告!您应该在写入文件之前进行一些验证!
来源:但这不需要它自己的形式吗。。。请记住,我正在向谷歌文档提交一篇文章,我想要一篇辅助文章,这样我就可以将数据保存在我的服务器上。否。您可以使用相同的表单。首先使用AJAX提交表单。您的页面将不会被重新加载。然后,像往常一样发送您的表格。您可以使用jquery.submit()实现这一点。那么我当然也可以这样做:
data:{data:collection}
,因为我已经修改了字符串。。。它不需要精确到足以记录的程度。很抱歉你说得对!只要字符串不破坏JSON格式,就可以执行:data:{data:collection}->。。。
// WARNING! You should do some valiadation before writing to the file!
<?php
$name = $_POST["name"];
$location = $_POST["location"];
$new_line = $name . "your tab ascii code" . $location . "\n";
$file = 'people.txt';
// Open the file to get existing content
$current = file_get_contents($file);
// Append a new person to the file
$current .= $new_line;
// Write the contents back to the file
file_put_contents($file, $current);
?>