jQuery获取整个html页面,包括表单输入-发送到php保存

jQuery获取整个html页面,包括表单输入-发送到php保存,php,jquery,ajax,forms,Php,Jquery,Ajax,Forms,我正在尝试使用ajax克隆整个html页面,其中包含表单数据,这些数据填充在用户的输入中,然后使用php保存整个页面,包括输入值。我可以克隆但不能发送此数据。我该怎么做?我可以通过添加一个.html()来发送html,但不能通过这种方式发送带有html的数据。如果我只是克隆它,我会得到表单中的数据。。。但我不能寄。我在此图像中从jQuery获得错误: 这里是我要保存的php,它可以工作,但是数据不是从jQuery获得的 <?php $Data = $_POST['MyData']; fi

我正在尝试使用ajax克隆整个html页面,其中包含表单数据,这些数据填充在用户的输入中,然后使用php保存整个页面,包括输入值。我可以克隆但不能发送此数据。我该怎么做?我可以通过添加一个.html()来发送html,但不能通过这种方式发送带有html的数据。如果我只是克隆它,我会得到表单中的数据。。。但我不能寄。我在此图像中从jQuery获得错误:

这里是我要保存的php,它可以工作,但是数据不是从jQuery获得的

<?php
$Data = $_POST['MyData'];
file_put_contents('SavedForms/saved.php', $Data);

?>

如果要将jQuery对象作为字符串(html)发送到服务器,应首先从该对象提取html:

var TheClone = $('.TheBody').clone().html();

第二(如前所述),在
PHP
中,您应该使用
$\u POST['MyData']
(键应该是字符串
MyData
,而不是常量)。

如果要将jQuery对象作为字符串(html)发送到服务器,应首先从该对象提取html:

var TheClone = $('.TheBody').clone().html();

第二(如前所述),在
PHP
中,您应该使用
$\u POST['MyData'](键应该是字符串
MyData
,而不是常量)。

问题已解决:

我通过将用户输入的内容硬编码到dom更改的html中,然后通过ajax发送html来实现这一点。我希望这个想法能帮助别人。我能够很好地克隆html页面,但是我无法通过Ajax发送这个克隆和数据。我可以将html保存为上面提到的Dekel,但它没有数据

因此,作为一种解决方法,当用户使用jQuery更改数据时,我将数据保存到html中。我使用了输入和复选框。我给所有复选框一个MyCheck类,给所有文本输入一个MyInput类。这是我使用的代码

$('.MyInput').on("change paste keyup", function() 
     {
    var MyVal = $(this).val();
    $(this).attr('value', MyVal);
    });

    $('.MyCheck').on("change paste keyup", function() 
     {
    if($(this).attr("checked"))
    $(this).removeAttr("checked");
    else
    $(this).attr('checked', 'checked');

    });


     $('.ClickMe').click(function(event)
    {
    event.preventDefault();

    var TheClone = $(".TheBody").html();

    $.ajax({
    type: 'POST',
    url: "SaveEnrollment.php",
    data: {
       MyData: TheClone
    },
    success: function (data) {
       window.location = "/thank-you";
    },
    error: function (req, status, error) {}
}); 

问题已解决:

我通过将用户输入的内容硬编码到dom更改的html中,然后通过ajax发送html来实现这一点。我希望这个想法能帮助别人。我能够很好地克隆html页面,但是我无法通过Ajax发送这个克隆和数据。我可以将html保存为上面提到的Dekel,但它没有数据

因此,作为一种解决方法,当用户使用jQuery更改数据时,我将数据保存到html中。我使用了输入和复选框。我给所有复选框一个MyCheck类,给所有文本输入一个MyInput类。这是我使用的代码

$('.MyInput').on("change paste keyup", function() 
     {
    var MyVal = $(this).val();
    $(this).attr('value', MyVal);
    });

    $('.MyCheck').on("change paste keyup", function() 
     {
    if($(this).attr("checked"))
    $(this).removeAttr("checked");
    else
    $(this).attr('checked', 'checked');

    });


     $('.ClickMe').click(function(event)
    {
    event.preventDefault();

    var TheClone = $(".TheBody").html();

    $.ajax({
    type: 'POST',
    url: "SaveEnrollment.php",
    data: {
       MyData: TheClone
    },
    success: function (data) {
       window.location = "/thank-you";
    },
    error: function (req, status, error) {}
}); 

$Data=$\u POST['MyData']你不觉得为什么你不把表单序列化并传递输入值呢?如果我序列化了它们,我会把它们重新放回表单的正确位置吗?我从来没有这样做过你不觉得为什么你不把表单序列化并传递输入值呢?如果我序列化了它们,我会把它们重新放回表单的正确位置吗?我从来没有这样做过。这可以在输入字段中保存html,但不能保存表单数据。如何保存此数据?我可以克隆但不能发送此数据。我怎样才能做到这一点。我可以发送html与您的代码,但我不能发送数据。如果我只是克隆它,我会得到表单中的数据。。。但我无法发送。你希望如何获取数据?为什么不直接发送表单呢?然后我必须把数据放回表单中。这样想吧。我需要有人填写一个表格,所有的领域,但稍后回来与所有的信息,他们留下的。这不是我正在做的,而是一个例子。我需要他们在一个页面中输入的html和表单数据。我正在尝试创建一个表单,并将表单中的所有信息保存和发送。稍后,其他人将访问该表单并打印它。这可以在输入字段中保存html而不是表单数据。如何保存此数据?我可以克隆但不能发送此数据。我怎样才能做到这一点。我可以发送html与您的代码,但我不能发送数据。如果我只是克隆它,我会得到表单中的数据。。。但我无法发送。你希望如何获取数据?为什么不直接发送表单呢?然后我必须把数据放回表单中。这样想吧。我需要有人填写一个表格,所有的领域,但稍后回来与所有的信息,他们留下的。这不是我正在做的,而是一个例子。我需要他们在一个页面中输入的html和表单数据。我正在尝试创建一个表单,并将表单中的所有信息保存和发送。稍后,其他人将访问该表单并打印它。