Rolf B: Frage zum Wiki-Artikel „Buttons_und_Schalter“

Beitrag lesen

problematische Seite

Hallo Chnutz,

du solltest bitte den äußerst unwahrscheinlichen, aber nicht unmöglichen Umstand in Erwägung ziehen, dass dein Code nicht vollkommen ist.

Ich habe das Frickl-Beispiel im IE11 geöffnet und es funktioniert. Ich habe dem zweiten Schalter ein onchange="foo()" Attribut hinzugefügt, sowie ein Funktione

function foo() {
   alert("bar!");
}

ins JavaScript Fenster getippt, und es funktioniert. Mit slider-<span>. Und der Alert kommt hoch. Ehrlich! Kein Scheiß!

Ockhams Rasiermesser sagt: Du machst was falsch. Oder du führst das Fehlverhalten deiner Seite auf die falschen Ursachen zurück. Auf Grund dessen, was Du gepostet hast, kann ich das aber nicht erkennen. Das einzige, was ich da sehe und was mich wundert, ist

<input type=\"checkbox\">

Wo hast Du das herkopiert? In unserem Wiki sehe ich das nicht. Sowas macht man, wenn man HTML dynamisch im JavaScript generiert (oder in PHP) und Anführungszeichen innerhalb Strings maskieren muss. Aber dann macht man es konsequent überall, und nicht nur für ein Attribut.

Wenn die Backslashes im HTML landen, sorgen sie dafür, dass der Browser die Anführungszeichen als Teil des input-type ansieht, und einen Type "checkbox" gibt es nicht. Der Typ heißt checkbox. So ein Typname kann in Anführungszeichen gesetzt werden, aber die dürfen dann nicht escaped werden. Aus einem unbekannten type wird ein type="text". Aber auch für text-Inputs gibt es change-Events. Egal ob ein span dahinter steht oder nicht.

Also: Bitte nimm diese Backslashes weg, oder erkläre, warum sie unbedingt nötig zu sein scheinen. Und dann versuche, ein minimales HTML und CSS zu bauen, das den Fehler zeigt. Ohne Schnick und Schnack, so klein wie es geht. Und das poste uns bitte. Oder stelle es irgendwo online zur Verfügung. Ich würde ja auf Codepen oder JSFiddle zeigen, aber die beiden verschmähen den IE mittlerweile.

Rolf

--
sumpsi - posui - clusi