如何使用php将使用javascript创建的div传递到另一个页面
我不知道如何在创建div后在另一个页面中显示它们。当使用函数创建div时,单击按钮后,它们将显示在主页的div中,紧接着,必须重定向到第二页,传递创建的div 主页的工作原理示例: 我不知道如何在第二页中发送和显示刚刚创建的div 我认为应该用php设置动作,但我不知道 重要的 您不必理解Js代码。你只需要知道我想复制到第二页的div,在开始的时候,并不存在。因此,复制到新页面操作必须在创建div之后完成 主页:如何使用php将使用javascript创建的div传递到另一个页面,javascript,php,jquery,html,css,Javascript,Php,Jquery,Html,Css,我不知道如何在创建div后在另一个页面中显示它们。当使用函数创建div时,单击按钮后,它们将显示在主页的div中,紧接着,必须重定向到第二页,传递创建的div 主页的工作原理示例: 我不知道如何在第二页中发送和显示刚刚创建的div 我认为应该用php设置动作,但我不知道 重要的 您不必理解Js代码。你只需要知道我想复制到第二页的div,在开始的时候,并不存在。因此,复制到新页面操作必须在创建div之后完成 主页: <html lang="it"> <head>
<html lang="it">
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<meta charset="UTF-8">
<link rel="stylesheet" href="style.css"/>
</head>
<body>
<div id="faketxt" contenteditable>Write Here</div>
<button id='btn'>OK</button> <br>
<div id='boxes'>
</div>
<script type="text/javascript">
$('#btn').click(function() {
var primo = document.getElementById('faketxt');
var wordLimit = 145;
var words = primo.textContent.replace(/(<([^>]+)>)/ig,"").split(/\s/);
if (words.length) {
var count = 0;
var div = createDiv();
words.forEach(function(word) {
if (++count > wordLimit) {
count = 1;
div = createDiv();
}
if (div.innerHTML) {
div.append(' ');
}
div.append(word);
});
}
});
function createDiv() {
div = document.createElement('div');
div.className = 'fakes';
document.getElementById('boxes').append(div);
return div;
}
</script>
</body>
</html>
好吧,你至少有3种方法可以做到这一点,这都归结为如何在两页之间传递足够的信息: 1您可以在刚刚创建这些div时获取它们的HTML,将其存储在会话存储中,然后从存储的HTML重新创建div。这样你就不必知道第二页上的div,但是你可以存储多少是有限制的。此外,如果信息敏感,可能会带来一些安全/隐私风险,因此您可能需要执行一些额外的编码来缓解这些风险 2您可以根据在第一页创建div时使用的同一组信息在第二页上重新创建这些div。JS代码可以在两者之间共享 3使用服务器端生成div的内容。这样,您可以生成第一页和第二页内容 还是我对这个问题有什么遗漏 在提交表单中创建隐藏文本输入 将新的div值添加到该隐藏输入 提交表单将通过php将值发送到下一页 现在使用类似php的javascript选择该值 var xyz= 现在,您可以随意使用此值
我不知道为什么这里没有显示带有php标记的值:您不必发送整个div,只需发送下一页重新创建所需的数据量即可。 i、 e.您可以使用cookie并让用户记住:
document.cookie = "divinfo=The text field of the div's;\
path=/";
具有包含相关信息的隐藏输入字段
<input name="divinfo" hidden value="The info required for the creation of the div"/>
如果您使用cookie,javascript可以在另一端重新创建数据。如果您使用隐藏输入,您应该让php重新创建数据。我建议进行一些更改。首先,使用一种适当的形式——就像你在第一次修改你的问题时那样
<form action="download.php">
<input id="faketxt" type="text" value="Write Here" />
<button id='btn'>OK</button>
</form>
<div id='boxes'></div>
您的download.php中有faketxt输入。你为什么不在那里创建它呢?div只是随机标记,为什么要传递这些信息?他已经在faketxt输入字段中拥有了他所需要的所有信息。他只需要在download.php.var xyz=中读取此字段;在第二页中,您只需要通过这段代码选择php对javascript的值。然后您可以随意使用这个javascript变量。
<?php echo $_POST["faketxt"]; ?>
$('#btn').click(function() {
var primo = document.getElementById('faketxt');
var wordLimit = 5;
var words = primo.value.replace(/(<([^>]+)>)/ig,"").split(/\s/);
while (words.length > 0){
let div = createDiv();
div.append(words.splice(0,wordLimit).join(" "));
}
});