$(document).ready( function () {
$('#test').click(function(){
videofix();
});
}
function videofix(){
$('#article').text($('#article').val().replace(/\[video\](http:\/\/(www\.)?youtube\.com\/watch\?v=([a-zA-Z0-9]+))\[\/video]/g,'[video=youtube;$3]$1[/video]'));
}
</script>
<textarea id="article" name="article"></textarea><br>
<input type="button" id="test" value="test">
基本上我的问题是,videofix函数在被调用时,在工作时它不会替换textarea的文本。我实际上已经将我的代码复制到了jsfiddle并在那里尝试了它并且它有效。所以我不确定到底发生了什么。
答案 0 :(得分:7)
要将值设置为textarea,您应使用val()
方法而不是html()
;
$("#article").val("something");
答案 1 :(得分:2)
我在代码中看到的唯一文本区域为id="article"
。而且就我所见,你永远不会使用.html()
设置它的价值。
无论如何,如果.html()不起作用,可以试试这个:
$("#article").empty().append(data);