Ich mache eine Website und eine der Anforderungen ist es IE8 kompatibel zu sein. Ich habe ein einfaches Formular auf meiner Seite und benutze ein Optionsfeld Ich ändere, welche Feldgruppen des Formulars sichtbar sind. Grundsätzlich gebe ich dem Benutzer die Möglichkeit, entweder seinen Namen oder seine Nummer einzugeben. Ich verwende IE11 auf W10 im IE8-Kompatibilitätsmodus im F12-Menü und die Umschaltung funktioniert nicht. Es funktioniert überall sonst, auch in IE9 +. Weißt du, was könnte das Problem sein?Mein Javascript funktioniert nicht, wenn es in IE8 getestet wurde
Beide Radio-Buttons haben eine Onclick-Funktion, die ein Fieldset auf dem Display anzeigt: keines und das andere auf Display: Block. Die "header__form__fs_person" ist standardmäßig ausgeblendet.
html:
<form class="header__form" name="form_name">
<fieldset class="header__form__label_choices">
<label class="header__form__label" for="person">Podle jména</label>
<input class="header__form__input_radio" type="radio" value="person_on" id="person" name="choice" onclick="hideIc(this)" checked>
<span class="header__form__divider">/</span>
<label class="header__form__label" for="ic">Podle IČ</label>
<input class="header__form__input_radio" type="radio" value="ic_on" id="ic" name="choice" onclick="hidePerson(this)">
</fieldset>
<fieldset class="header__form__fs_person">
<input class="header__form__input_text" type="text" id="name" placeholder="Jméno" required>
<input class="header__form__input_text" type="text" id="lastname" placeholder="Příjmení" required>
<input class="header__form__input_text" type="text" id="bday" placeholder="Narozen" onfocus="(this.type='date')" required>
</fieldset>
<fieldset class="header__form__fs_ic" disabled>
<input class="header__form__input_text" pattern=".{9,}" placeholder="123456789" required>
</fieldset>
<label class="header__form__terms" for="terms">Souhlasím s <a class="header__form__terms_a" href="">obchodnimi podmínkami</a></label>
<input class="header__form__input_checkbox" type="checkbox" id="terms" required>
<input class="header__form__input_btn" type="submit" value="Ověřit">
</form>
js:
<script>
function hideIc(radio_btn) {
if (radio_btn.checked) {
var ic = document.getElementsByClassName("header__form__fs_ic");
var person = document.getElementsByClassName("header__form__fs_person");
for (var i=0; i < ic.length; i++) {
ic[i].style.display = "none";
ic[i].disabled = true;
person[i].style.display = "block";
person[i].disabled = false;
}
}
}
function hidePerson(radio_btn) {
if (radio_btn.checked) {
var ic = document.getElementsByClassName("header__form__fs_ic");
var person = document.getElementsByClassName("header__form__fs_person");
for (var i=0; i < ic.length; i++) {
ic[i].style.display = "block";
ic[i].disabled = false;
person[i].style.display = "none";
person[i].disabled = true;
}
}
}
</script>
was specifally ist nicht funktioniert und welche Fehler werden geworfen? Beachten Sie, dass Muster und Platzhalter ohne Unterlegscheiben nicht unterstützt werden. – charlietfl
Es gibt keine Fehler, es funktioniert einfach nicht. Wenn ich auf den Radiobutton klicke, passiert nichts, nichts verbirgt sich, nichts erscheint. Auch das Muster und die Platzhalter sind etwas, was ich nicht gesehen habe. Wie kann ich sie arbeiten lassen? – Arcane