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()の代わりにメソッドを使用する必要があります。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 に答える