Javascript - 在多个位置插入代码段
Javascript - Insert code segments at multiple locations
我喜欢做的是:如果填写了 3 个可选字段中的任何一个,则会将一段代码(行)插入到源代码(表)中,然后输出整个代码。
我现在的问题是:如果输入了多个字段,则仅插入最后一个输入。 我需要将它们全部插入。 我怀疑"code ="语句需要更改/重新定位,但不确定如何处理。 我是javascript的初学者,所以请尽可能保持你的答案基本。 谢谢!!
.html:
<input id="input1" onChange="update()">
<input id="input2" onChange="update()">
<input id="input3" onChange="update()">
JavaScript:
var source = '<table><!--PlaceHolder1--><!--PlaceHolder2--><!--PlaceHolder3--></table>';
var insert = '<tr><td>InsertText</td></tr>';
function update(){
if(document.getElementById("input1").value != ""){
var x = document.getElementById("input1").value;
var y = insert.replace("InsertText", x );
code = source.replace("<!--PlaceHolder1-->", y );
}
if(document.getElementById("input2").value != ""){
var x = document.getElementById("input2").value;
var y = insert.replace("InsertText", x );
code = source.replace("<!--PlaceHolder2-->", y );
}
if(document.getElementById("input3").value != ""){
var x = document.getElementById("input3").value;
var y = insert.replace("InsertText", x );
code = source.replace("<!--PlaceHolder3-->", y );
}
}
document.write(code);
看起来您正在丢失第一个替换的结果,该结果位于变量"code"中,因为您在后续替换中用"源"的内容覆盖了它。
取而代之的是:
code = source.replace("<!--PlaceHolder2-->", y );
试试这个:
code = code.replace("<!--PlaceHolder2-->", y );
我想你会得到你所期望的。
部分问题在于您正在尝试使用字符串替换来执行此操作。你应该使用正确的 DOM 操作。这也将允许您大量清理代码:
window.onload = function() {
function update(e) {
var target = e.target,
num = target.getAttribute("data-num"),
td = document.querySelectorAll("#theTable td")[num - 1];
td.textContent = target.value;
td.parentNode.style.display = "table-row";
}
for (var i = 1; i <= 3; i += 1) {
document.getElementById("input" + i).onchange = update;
}
}
#theTable tr {
display: none;
}
<input id="input1" data-num="1">
<input id="input2" data-num="2">
<input id="input3" data-num="3">
<table id="theTable">
<tr>
<td></td>
</tr>
<tr>
<td></td>
</tr>
<tr>
<td></td>
</tr>
</table>
相关文章:
- 如何动态插入jquery代码
- 为什么不't我的ruby代码与javascript文件一起插入
- 在iframe代码中动态插入子id
- 使用.format在一些HTML代码中插入文本,会出现错误(Python)
- 在Asp.net的TextBox中插入所需文本的java脚本代码
- 从.js文件中读取所有代码并插入到 Jade 模板中
- 如何通过 JSP 代码将隐藏字段(Javascript)插入 XML
- 在运行时将代码插入函数体
- 在Javascript代码中插入URL参数
- 我需要一个关于如何让我的插入代码在php和mysql中工作的提示
- Rails:Javascript中的附加和插入代码
- Javascript - 在多个位置插入代码段
- 使用 JS 插入代码,就像 php 中的 echo 一样
- 使用Grunt插入代码片段
- 在函数中插入代码
- 在函数中插入代码
- 如何在编辑器中插入代码,而不是在客户位置插入代码
- 需要一个语法高亮为插入代码到网页
- 无法在Chrome浏览器中查看我的下拉菜单,但当我在这里插入代码时,我可以查看.如何来
- 插入代码从Contentscript.js (Chrome扩展)