2016-07-06 64 views
0

我需要选择三种文本格式(a,b,c)的值,例如。 1,2,3。然后点击ADD,它会插入这样的代码:使用JS将新代码插入页面,变量为

<mycode a="1" b="2"><newone c="3"></newone></mycode> 

我该怎么办?一段时间尝试不同的方法。

使用这个代码,我可以将新元素添加到页面

<p> <span id="mytext"><a href="javascript:EditText()">click here</a></span></p> 
<script type="text/javascript"> 
    function EditText() { 
     document.getElementById('mytext').innerHTML = '<mycode a="1" b="2"><newone c="3"></newone></mycode>'; 
    } 
</script> 

但我怎么可以用文本形式编辑,b和c的值?

非常感谢!

+0

如果我问一下“文本格式”是什么?当你说“三种文字形式”时,他们是简单的'? – Zach

回答

2

假设您还希望能够将a,b和c的值传递给函数并将它们输出到新创建的DOM中。你可以做类似如下:

function EditText(aVal, bVal, cVal) { 
    document.getElementById('mytext').innerHTML = '<mycode a="'+aVal+'" b="'+bVal+'"><newone c="'+cVal+'"></newone></mycode>'; 
} 

追加额外的元素每次点击:

function EditText(aVal, bVal, cVal) { 
    var currentInnerHtml = document.getElementById('mytext').innerHTML; 
    document.getElementById('mytext').innerHTML = currentInnerHtml + '<mycode a="'+aVal+'" b="'+bVal+'"><newone c="'+cVal+'"></newone></mycode>'; 
} 
+0

谢谢!完美的作品。 – VGranin

1

如果你有三个屏幕上textarea S,你可以用自己的价值观JavaScript,然后将它们添加在你的字符串,而不是硬编码它们。

<textarea id="textA" cols="30" rows="10"></textarea> 
<textarea id="textB" cols="30" rows="10"></textarea> 
<textarea id="textC" cols="30" rows="10"></textarea> 
<p> <span id="mytext"><a href="javascript:EditText()">click here</a></span></p> 

<script> 
    function EditText() { 
    var textA = document.getElementById('textA').value; 
    var textB = document.getElementById('textB').value; 
    var textC = document.getElementById('textC').value; 

    document.getElementById('mytext').innerHTML = '<mycode a="' + textA + '" b="' + textB + '"><newone c="' + textC + '"></newone></mycode>'; 
    } 
</script> 
+0

谢谢你的帮助! – VGranin

相关问题