我有一个简单的html表单,正如您在下面看到的那样,已预先填充了信息,例如用途。
目前,当您点击提交时,表单将保存到Google文档,该文档可以正常运行。
但是我还希望将日志/保存表单输出到托管页面的服务器上的文本文件。
我希望记录/保存的格式如下所示,每个新行都是新的表单提交。
3/18/2015 8:06:27 testname test4 test2 test3 test4 test5 test6 test7 test8 test9 test10
3/18/2015 8:07:07 testname1 test4 test4 test3 test4 test5 test6 test7 test8 test9 test10
3/18/2015 8:08:01 testname2 test2 test2 test3 test4 test5 test6 test7 test8 test9 test10
3/18/2015 8:09:41 testname3 test2 test5 test3 test4 test1 test6 test7 test8 test9 test10
分隔字符必须是 ASCII制表符
我需要能够记录/保存队列本身,以便如果两个人一次使用该表单,则表示没有冲突,只有一个表单提交被记录/保存。
我认为 捕获/记录/保存表单的最佳位置将在下面的函数的开头,一旦表单提交到Google文档。
function breakRedirect() {
$('#container').replaceWith('<div id="complete">Completed</div>');
};
这就是我到目前为止,它的格式正确(确定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>');
};
有什么想法吗?
答案 0 :(得分:1)
<强> $。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(),
来源:jQuery website - .ajax(),Stackoverflow - Submit a form using jQuery
file_get_contents()AND $ _POST []
然后,您可以使用$ _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);
?>