3 Stimmen

Ändern des Textarea-Umbruchs mit Javascript

Für meine kleine Wiki-Anwendung benötige ich in den meisten Fällen einen weichen (oder virtuellen) Umbruch für die Textarea, die zum Bearbeiten des Inhalts verwendet wird. In einigen Fällen wäre es jedoch besser, den Inhalt nicht umzubrechen. Ich dachte, ich könnte dies durch eine einfache Schaltfläche zum Ausschalten des Umbruchs erreichen. Hier ist der vereinfachte Code:

  <form name="wikiedit" action="[[script_name]]" method="post">
    <textarea name="content" rows="25" cols="90" wrap="virtual">[[content]]</textarea>
    <input type="button" onclick="document.wikiedit.content.wrap='off';" value="No Wrap"> &nbsp;
    <input type="submit" value="Save">
  </form>

Es funktioniert mit IE, aber nicht mit Firefox oder Opera. Wie soll ich das machen?

0voto

Jesse Merriman Punkte 6129

Hier ist eine Variante von Antwort von bobince die kein Klonen der Textarea erfordert:

function setWrap(area, wrap) {
    if (area.wrap) {
        area.wrap = wrap;
    } else { // wrap attribute not supported - try Mozilla workaround
        area.setAttribute("wrap", wrap);
        area.style.overflow = "hidden";
        area.style.overflow = "auto";
    }
}

Dies ist vergleichbar mit VK's Kommentar in den Fehler, die Bobince verwiesen, aber die Einstellung Display statt Overflow nicht für mich arbeiten, es sei denn, ich die zweite Menge in einem setTimeout.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X