2012-04-14 4 views
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"> 

Grundsätzlich ist mein Problem, die Videofix-Funktion, wenn sie aufgerufen wird, während der Arbeit ersetzt es nicht den Text der Textarea. Ich habe meinen Code tatsächlich daraus kopiert und habe es dort probiert und es hat funktioniert. Ich bin mir also nicht sicher, was zur Hölle los ist.jQuery .html() setzt den Wert des Textbereichs nicht

Antwort

7

Um einen Wert für textarea festzulegen, verwenden Sie val() Methode anstelle von html();

$("#article").val("something"); 
+0

Danke, das merkwürdig gearbeitet, dass die jsfiddle Kopie gearbeitet und obwohl die tatsächliche ein nicht. – Renari

2

Das einzige Textfeld, das ich in Ihrem Code sehe, hat id="article". Und Sie setzen nie seinen Wert mit .html(), soweit ich sehen kann.

Wie auch immer, wenn .html() nicht funktioniert, vielleicht versuchen Sie stattdessen:

$("#article").empty().append(data); 
Verwandte Themen