我有一个简单的html表单,如下所示,已经预先填充了信息,例如用途.
目前,当您点击提交时,表单将保存到Google文档,该文档可以正常运行.
但是,我还希望它将表单输出记录/保存到托管页面的服务器上的文本文件中.
示例预填充形式:http://jsfiddle.net/owcnwfhp/
我想要记录/保存的格式如下所示,每个新行都是一个新的表单提交.
示例预期输出:
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>'); };
更新小提琴:http://jsfiddle.net/owcnwfhp/1/
有任何想法吗?
解决方法
jQuery的
$阿贾克斯()
你可以使用jQuery.ajax函数做一个帖子.请参阅下面的示例.
$.ajax({ method: "POST",url: "some.PHP",data: { name: "John",location: "Boston" } }) .done(function( msg ) { alert( "Data Saved: " + msg ); });
对于data属性,您可以使用:
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); ?>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。