Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/396.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 从Javascript动态创建HTML页面_Php_Javascript_Html - Fatal编程技术网

Php 从Javascript动态创建HTML页面

Php 从Javascript动态创建HTML页面,php,javascript,html,Php,Javascript,Html,有没有办法根据用户输入从Javascript创建新的HTML页面 我有一个网页,询问用户需要哪些输入字段,根据选择它应该创建一个新的HTML页面 i、 e.如果我选择3个文本框和1个按钮,那么它应该创建新的HTML页面,其中包含3个文本框和1个按钮 如何使用PHP做同样的事情 编辑:我的目标是新创建的页面在创建时也应保存在服务器上否,仅使用基于浏览器的代码是不可能的。浏览器中的代码在客户端计算机上运行。它无法单独将文件保存在服务器上。您必须在服务器上使用一些代码来实现这一点 您有两个选择: 使用

有没有办法根据用户输入从Javascript创建新的HTML页面

我有一个网页,询问用户需要哪些输入字段,根据选择它应该创建一个新的HTML页面

i、 e.如果我选择3个文本框和1个按钮,那么它应该创建新的HTML页面,其中包含3个文本框和1个按钮

如何使用PHP做同样的事情


编辑:我的目标是新创建的页面在创建时也应保存在服务器上

否,仅使用基于浏览器的代码是不可能的。浏览器中的代码在客户端计算机上运行。它无法单独将文件保存在服务器上。您必须在服务器上使用一些代码来实现这一点

您有两个选择:

  • 使用新内容创建新窗口-一旦关闭,它将消失,因为您无法将其保存到服务器,但对于所有其他事项,它将充当真正的HTML页面

  • 使用简单的服务器端逻辑,您可以使用AJAX与之交互并创建页面


  • 不,不可能只使用基于浏览器的代码。浏览器中的代码在客户端计算机上运行。它无法单独将文件保存在服务器上。您必须在服务器上使用一些代码来实现这一点

    您有两个选择:

  • 使用新内容创建新窗口-一旦关闭,它将消失,因为您无法将其保存到服务器,但对于所有其他事项,它将充当真正的HTML页面

  • 使用简单的服务器端逻辑,您可以使用AJAX与之交互并创建页面


  • 更新

    您已在问题中添加了一条评论:


    我的目标是新创建的页面也应该在创建时保存在服务器上

    这完全改变了你的问题。要在服务器上创建文件,您必须使用服务器端语言(可以是JavaScript,通过NodeJS、Rhino或其他几个项目)以及客户端上的JavaScript。您需要将用户的选择发布到服务器并在那里生成文件


    原始答案:(在上述评论之前)

    是的,你能做到。您可以向他们显示一个页面,让他们在其中做出这些选择,然后用他们要求的内容替换该页面的内容,或者您可以打开一个新窗口,在那里显示他们的选择

    在任何一种情况下,您都可能会使用DOM:

    …和/或一个好的JavaScript库,如、、或,以帮助消除浏览器差异并提供重要的实用程序功能

    下面是一个仅使用DOM和JavaScript(没有库,但我强烈建议使用一个库,代码将更精简、更健壮)的真正最低限度的示例:

    |

    HTML:

    
    您想要多少个文本框?
    一个
    两个
    三
    
    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库,如、、或,以帮助消除浏览器差异并提供重要的实用程序功能

    下面是一个仅使用DOM和JavaScript(没有库,但我强烈建议使用一个库,代码将更精简、更健壮)的真正最低限度的示例:

    |

    HTML:

    
    您想要多少个文本框?
    一个
    两个
    三
    
    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元素。