jQuery获取整个html页面,包括表单输入-发送到php保存
我正在尝试使用ajax克隆整个html页面,其中包含表单数据,这些数据填充在用户的输入中,然后使用php保存整个页面,包括输入值。我可以克隆但不能发送此数据。我该怎么做?我可以通过添加一个.html()来发送html,但不能通过这种方式发送带有html的数据。如果我只是克隆它,我会得到表单中的数据。。。但我不能寄。我在此图像中从jQuery获得错误: 这里是我要保存的php,它可以工作,但是数据不是从jQuery获得的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
<?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和表单数据。我正在尝试创建一个表单,并将表单中的所有信息保存和发送。稍后,其他人将访问该表单并打印它。