javascript - 使用 javascript 将除法添加到当前 HTML

标签 javascript html

我有以下 JavaScript 函数:

function addNewUpload()
{

if(formNumber == 1){
displayRemove();
}

if(formNumber != 10){
document.getElementById('uploadHolder').innerHTML += " <div id='u_"+(formNumber+1)+"' > ";
document.getElementById('uploadHolder').innerHTML += " description : <input type='text' name='desc[]' /> <br> ";
document.getElementById('uploadHolder').innerHTML += " photo : <input type='file' name='file[]' />   ";
document.getElementById('uploadHolder').innerHTML += " </div> ";
formNumber = formNumber + 1;
}else{
alert("You can only upload 10 photos.");
}
}

上面的代码工作正常,除了带有 id='u_"+(formNumber+1)+"' 的持有者划分没有将内容包装在它自己中,所以我得到这个结果:

<div id="u_2"> </div> 
description : <input type="text" name="desc[]"> <br>
  photo : <input type="file" name="file[]">      
<div id="u_3"> </div> 
description : <input type="text" name="desc[]"> <br>  
photo : <input type="file" name="file[]">     
 <div id="u_4"> </div> description : <input type="text" name="desc[]"> <br>  photo : <input type="file" name="file[]">     </div>

我做错了什么?

最佳答案

您必须使用下面的代码。每次调用 .innerHTML = .. 时,都会对字符串进行解析,尝试使其成为有效的 HTML。因此,未关闭的标签将被关闭,单个关闭标签将被忽略。

var html = " <div id='u_"+(formNumber+1)+"' > ";
html += " description : <input type='text' name='desc[]' /> <br> ";
html += " photo : <input type='file' name='file[]' />   ";
html += " </div> ";
document.getElementById('uploadHolder').innerHTML += html;

您的代码被解释为:

+= " <div id='u_"+(formNumber+1)+"' > </div>";                 // Added </div>
+= " description : <input type='text' name='desc[]' /> <br> "; // Same
+= " photo : <input type='file' name='file[]' />   ";          // Same
+= " </div> ";                                                 // Ignored

关于javascript - 使用 javascript 将除法添加到当前 HTML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7941953/

相关文章:

javascript - 在 JavaScript 中使用基于用户输入的条件的问题

javascript - 在一个表单字段中获取多个用户输入

html - flex-grow 在列布局中不起作用

javascript - 实现这个特定布局的最佳方式是什么?

php - 如果函数在 PHP 中返回 False,则强制覆盖

javascript - 我还是 jsfiddle 错误?

nifiexecuteScript 中的 javascript 错误

javascript - 更改链接颜色 onclick 而不使用 PreventDefault()

CSS Flex Justify-content 不要将元素推到每个 Angular 落

html - 如何加载自定义字体?