2010-12-28 10 views
0

Ich versuche, den Wert eines Textarea, um zu überprüfen, ob es leer ist, mit Javascript und es funktioniert nicht in Opera. In IE, FF und Chrome funktioniert es gut, aber in Opera 11 und 10 meldet es den Wert als leere Zeichenfolge, auch wenn es Text enthält. Hier ist mein Code:.get textarea Wert mit Javascript in der Oper

if (document.getElementById('mytextareaid').value.replace(/(^\s+|\s+$)/, '') == '') { 
    alert('empty textarea'); 
} 

Mit document.getElementById ('mytextareaid') innerHTML- stattdessen funktioniert nicht, auch nicht. Was vermisse ich?

+0

können Sie zwei Dinge tun 1. alert (document.getElementById ('mytextbareaid')); 2. können Sie das Markup Ihres Textbereiches an Ihre Frage anhängen. Ich habe es in der Oper getestet und alles ist gut hier – naveen

Antwort

3

mit diesem ersetzen und

if (document.getElementById('mytextareaid').innerHTML.replace(/(^\s+|\s+$)/, '') == '') { 
    alert('empty textarea'); 
} 
+0

Ich habe vergessen zu erwähnen, dass innerHTML auch nicht funktioniert. – bogdanvursu

+0

Versuchen Sie, die Datei document.getElementById ('mytextareaid'). InnerHTML vor der if-Bedingung zu alarmieren und stellen Sie sicher, dass die ID von textarea korrekt ist –

+0

Die Warnung zeigt eine leere Zeichenfolge an. Auch in Dragonfly sehe ich keinen Text im dom-Knoten des Textareas. Aber es wird Text in der Textfläche im Browser angezeigt. Irgendwelche anderen Gedanken? – bogdanvursu

1

Vielen Dank für Ihre Hilfe versuchen. Es stellt sich heraus, dass es mit einer einfachen Seite funktioniert, die nur einen Textbereich hat, aber in meinem speziellen HTML-Dokument nicht. Schließlich fand ich eine Abhilfe hier: JQuery val() does not work for textarea in Opera Ich weiß nicht, was genau das seltsame Verhalten verursacht, aber ich weiß, dass das Stück von

0

mich von JQuery val() does not work for textarea in Opera Zitiert:

Sie haben über eine kommen sehr obskuren Fehler in einem Blog-Post auf dem Opera SitePatching-Blog (http://my.opera.com/sitepatching/blog/facebook-and-some-core-patches) als "PATCH-287, Hack, um Skript siehe getippten Wert in TEXTAREA auf blog.ebuddy.com zu verweisen. Opera nicht korrekte Wert aus einem zuvor versteckten Textbereich lesen ".

Ich bin ein wenig zögerlich Workarounds zu empfehlen, ohne den vollständigen Code zu sehen.

Aber als ich das betrachtete, bemerkte ich, dass die Einstellung textarea.contentEditable für etwas den Wert nachher zu lesen schien ... aber es ist ein seltsamer Hack, der Probleme für andere Browser verursachen könnte.