Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/478.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
Javascript 用于长文本的x.innerHTML的替代方案_Javascript_Html - Fatal编程技术网

Javascript 用于长文本的x.innerHTML的替代方案

Javascript 用于长文本的x.innerHTML的替代方案,javascript,html,Javascript,Html,我试图用HTML和JS编写一个表单,在最后显示完成的表单,该表单不可编辑以供确认 我必须在不刷新和/或重定向的情况下替换页面内容 我的代码是: function F() { if(...){ //Empty fields [...] }else{ var el = document.getElementById("formID"); //Form da sostituire el.innerHTML = "NEW CONTENT

我试图用HTML和JS编写一个表单,在最后显示完成的表单,该表单不可编辑以供确认

我必须在不刷新和/或重定向的情况下替换页面内容

我的代码是:

function F() {
    if(...){
         //Empty fields [...]
     }else{
        var el = document.getElementById("formID"); //Form da sostituire
        el.innerHTML = "NEW CONTENT";
    }
}
问题是“新内容”确实很长,而且以字符串的形式编写非常不舒服。对于这种情况,是否有innerHTML的替代方案?

使用标记。将所需内容放入
标记中,给它一个ID,然后在JavaScript中简单地将模板的内容复制到表单中

HTML:

请参见以下代码段中的实时示例:

document.querySelector(“按钮”).addEventListener(“单击”,事件=>{
document.getElementById(“内容”).innerHTML=document.getElementById(“我的模板”).innerHTML
})

你好,模板!
试试看!
使用标签。将所需内容放入
标记中,给它一个ID,然后在JavaScript中简单地将模板的内容复制到表单中

HTML:

请参见以下代码段中的实时示例:

document.querySelector(“按钮”).addEventListener(“单击”,事件=>{
document.getElementById(“内容”).innerHTML=document.getElementById(“我的模板”).innerHTML
})

你好,模板!
试试看!
对于
浏览器支持的问题,您可以使用任何元素作为占位符,如下所示:

document.querySelector(“按钮”).addEventListener(“单击”,事件=>{
document.getElementById(“content”).innerHTML=document.getElementById(“my template”).innerHTML
})
.template{
显示:无;
}

你好,模板!
试试看!
对于
浏览器支持的问题,您可以使用任何元素作为占位符,如下所示:

document.querySelector(“按钮”).addEventListener(“单击”,事件=>{
document.getElementById(“内容”).innerHTML=document.getElementById(“我的模板”).innerHTML
})
.template{
显示:无;
}

你好,模板!
试试看!

您希望将其写成什么,我的意思是html是一个字符串?您可以将
新内容
存储在代码顶部的一个变量中,或者存储在您不想看到它的地方(甚至是单独的.js文件)@MarkoMackic的el.innerHTML=“NEW CONTENT”行中;我认为“新内容”是一个字符串……你想要一个字符串:)只是你不想以丑陋的方式存储它。然后你不理解字符串的定义,我也不知道如何向你澄清,你从
模板中得到了什么。innerHtml
是一个字符串,不管那是不是html。这就是我想说的。没问题:)我理解了,你想把它写成什么,我的意思是html是一个字符串?你可以将
新内容
存储在代码顶部的一个变量中,或者存储在你不想看到它的地方(甚至是在一个单独的.js文件中)@MarkoMackic的el.innerHTML=“NEW CONTENT”行中;我认为“新内容”是一个字符串……你想要一个字符串:)只是你不想以丑陋的方式存储它。然后你不理解字符串的定义,我也不知道如何向你澄清,你从
模板中得到了什么。innerHtml
是一个字符串,不管那是不是html。这就是我想说的。没问题:)我明白了
<template id="form-template">
  NEW CONTENT
</template>
function F() {
    if(...){
         //Empty fields [...]
     }else{
        var el = document.getElementById("formID"); //Form da sostituire
        el.innerHTML = document.getElementById("form-template").innerHTML;
    }
}