2
    $(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 并在那里尝试了它并且它有效。所以我不确定到底发生了什么。

4

2 回答 2

7

要为 textarea 设置值,您应该使用val()method 而不是html();

$("#article").val("something");
于 2012-04-14T08:15:57.020 回答
2

我在您的代码中看到的唯一文本区域有id="article". 据我所知,你永远不会使用它来设置它的价值.html()

无论如何,如果 .html() 不起作用,不妨试试这个:

$("#article").empty().append(data);
于 2012-04-14T08:19:18.110 回答