在textarea中替换JavaScript字符串

时间:2013-08-22 17:54:28

标签: javascript string replace

我正在尝试创建一个简单的页面来“纠正”YouTube的旧嵌入代码,以便它可以在PowerPoint 2010中运行。如果我将嵌入代码硬编码到页面上的textarea中,它可以正常工作,但如果用户将嵌入代码粘贴到文本区域,javaScript似乎不会运行。

看看这里:http://jsfiddle.net/pch8N/

这是我到目前为止所拥有的:

<p>Click the button to "fix" the old embed code</p>

<textarea rows="10" cols="60" id="demo"></textarea>
<br/>

<script>
function myFunction()
{
var str=document.getElementById("demo").innerHTML; 
var n=str.replace(/\/\/www.youtube/g,"http://www.youtube").replace(/version=3/g,"version=2");
document.getElementById("demo").innerHTML=n;
}
</script>

<button onclick="myFunction()">Try it</button>

感谢您的帮助!

4 个答案:

答案 0 :(得分:2)

您应该使用value代替innerHtml

function myFunction2()
{
var str=document.getElementById("demo2").value; 
var n=str.replace(/\/\/www.youtube/g,"http://www.youtube").replace(/version=3/g,"version=2");
document.getElementById("demo2").value=n;
}

答案 1 :(得分:0)

var str=document.getElementById("demo").innerHTML; 

您应该使用.value而不是.innerHTML

答案 2 :(得分:0)

将textarea放入表单标记

然后使用

var str=document.getElementById("demo").value; 

答案 3 :(得分:0)

if