微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

通过jQuery / Javascript发布到php文件将表单的输出保存到文本文件?

我有一个简单的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

PHP

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);
?>

资料来源:PHP Website – File put contents

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐