未捕获的类型错误:无法调用未定义的方法“replace”
2013-07-18
1504
var container = document.getElementById("f2");
text = text.replace(/\:\)/g, '<img src="images.jpg" border="0">');
在此代码中出现此错误。
在函数的开头,
text
被定义为
var
。
f2 代码在这里:
<table style='width: 100%'>
<tr>
<td>
<textarea id="fname" class="span5 chattextarea" style="resize: none;" cols="240" rows="13" disabled="disabled" style="float:centre" style="background-color: transparent" style="border: 3px dotted #f7730E;"></textarea>
</td>
</tr>
<tr>
<td>
<input type="text" id="f2" style="width: 440; height:100%" class="chattextarea" autocomplete="off" onkeyup="Javascript: if (event.keyCode==13) testChat();" placeholder= "Type your Message"></input>
<input type="button" class="btn-success" style="width: 50px" value="Send" onclick="testChat()"></input>
</td>
</tr>
</table>
Uncaught TypeError: Cannot call method 'replace' of undefined
2个回答
您尚未在任何地方定义变量
text
。
将
text.replace()
更改为
container.innerHTML.replace()
并且我怀疑您随后想要执行此操作
container.innerHTML = text;
以便您的
container
元素获取图像作为其新内容。
Henrik Andersson
2013-07-18
var container = document.getElementById("f2").innerHTML; // incase you use innerHTML
var text = container.replace(/\:\)/g, '<img src="images.jpg" border="0">');
如果它与元素
f2
的值有关,则
var container = document.getElementById("f2").value; // incase you use value
var text = container.replace(/\:\)/g, '<img src="images.jpg" border="0">');
Praveen
2013-07-18