Php 从Javascript动态创建HTML页面
有没有办法根据用户输入从Javascript创建新的HTML页面 我有一个网页,询问用户需要哪些输入字段,根据选择它应该创建一个新的HTML页面 i、 e.如果我选择3个文本框和1个按钮,那么它应该创建新的HTML页面,其中包含3个文本框和1个按钮 如何使用PHP做同样的事情Php 从Javascript动态创建HTML页面,php,javascript,html,Php,Javascript,Html,有没有办法根据用户输入从Javascript创建新的HTML页面 我有一个网页,询问用户需要哪些输入字段,根据选择它应该创建一个新的HTML页面 i、 e.如果我选择3个文本框和1个按钮,那么它应该创建新的HTML页面,其中包含3个文本框和1个按钮 如何使用PHP做同样的事情 编辑:我的目标是新创建的页面在创建时也应保存在服务器上否,仅使用基于浏览器的代码是不可能的。浏览器中的代码在客户端计算机上运行。它无法单独将文件保存在服务器上。您必须在服务器上使用一些代码来实现这一点 您有两个选择: 使用
编辑:我的目标是新创建的页面在创建时也应保存在服务器上否,仅使用基于浏览器的代码是不可能的。浏览器中的代码在客户端计算机上运行。它无法单独将文件保存在服务器上。您必须在服务器上使用一些代码来实现这一点 您有两个选择:
不,不可能只使用基于浏览器的代码。浏览器中的代码在客户端计算机上运行。它无法单独将文件保存在服务器上。您必须在服务器上使用一些代码来实现这一点 您有两个选择:
更新: 您已在问题中添加了一条评论:
我的目标是新创建的页面也应该在创建时保存在服务器上 这完全改变了你的问题。要在服务器上创建文件,您必须使用服务器端语言(可以是JavaScript,通过NodeJS、Rhino或其他几个项目)以及客户端上的JavaScript。您需要将用户的选择发布到服务器并在那里生成文件
原始答案:(在上述评论之前) 是的,你能做到。您可以向他们显示一个页面,让他们在其中做出这些选择,然后用他们要求的内容替换该页面的内容,或者您可以打开一个新窗口,在那里显示他们的选择 在任何一种情况下,您都可能会使用DOM:
您想要多少个文本框?
一个
两个
三
JavaScript:
(function() {
document.getElementById("btnGo").onclick = genPage;
function genPage() {
var sel = document.getElementById("numboxes"),
num = parseInt(sel.options[sel.selectedIndex].value, 10),
counter,
box;
document.getElementById("btnGo").onclick = "";
document.body.removeChild(document.getElementById("question"));
for (counter = 0; counter < num; ++counter) {
box = document.createElement('input');
box.type = "text";
document.body.appendChild(box);
}
}
})();
(函数(){
document.getElementById(“btnGo”).onclick=genPage;
函数genPage(){
var sel=document.getElementById(“numboxes”),
num=parseInt(sel.options[sel.selectedIndex].value,10),
柜台
盒子;
document.getElementById(“btnGo”).onclick=“”;
document.body.removeChild(document.getElementById(“问题”);
用于(计数器=0;计数器
更新:
您已在问题中添加了一条评论:
我的目标是新创建的页面也应该在创建时保存在服务器上 这完全改变了你的问题。要在服务器上创建文件,您必须使用服务器端语言(可以是JavaScript,通过NodeJS、Rhino或其他几个项目)以及客户端上的JavaScript。您需要将用户的选择发布到服务器并在那里生成文件
原始答案:(在上述评论之前) 是的,你能做到。您可以向他们显示一个页面,让他们在其中做出这些选择,然后用他们要求的内容替换该页面的内容,或者您可以打开一个新窗口,在那里显示他们的选择 在任何一种情况下,您都可能会使用DOM:
您想要多少个文本框?
一个
两个
三
JavaScript:
(function() {
document.getElementById("btnGo").onclick = genPage;
function genPage() {
var sel = document.getElementById("numboxes"),
num = parseInt(sel.options[sel.selectedIndex].value, 10),
counter,
box;
document.getElementById("btnGo").onclick = "";
document.body.removeChild(document.getElementById("question"));
for (counter = 0; counter < num; ++counter) {
box = document.createElement('input');
box.type = "text";
document.body.appendChild(box);
}
}
})();
(函数(){
document.getElementById(“btnGo”).onclick=genPage;
函数genPage(){
var sel=document.getElementById(“numboxes”),
num=parseInt(sel.options[sel.selectedIndex].value,10),
柜台
盒子;
document.getElementById(“btnGo”).onclick=“”;
document.body.removeChild(document.getElementById(“问题”);
用于(计数器=0;计数器
实现这一点有几种方法。一种方法是使用现有的模板或页面创建机制从服务器动态创建页面。您可以使用jquery或zeptojs作为ajax请求,然后使用服务器返回的新元素重新加载当前页面。另一种方法是创建一个js(jquery和类似的库对这个东西很有用)函数,在单击submit按钮后更改html元素。