Forum Webmastera, HTML, CSS, PHP, MySQL, Hosting, Domeny - Forum dla Webmasterów
Problem z DOM i IE, pomocy. - Wersja do druku

+- Forum Webmastera, HTML, CSS, PHP, MySQL, Hosting, Domeny - Forum dla Webmasterów (https://www.webmastertalk.pl)
+-- Dział: Technologie internetowe - tworzenie stron WWW (https://www.webmastertalk.pl/forum-technologie-internetowe-tworzenie-stron-www)
+--- Dział: xHTML, CSS, JavaScript (https://www.webmastertalk.pl/forum-xhtml-css-javascript)
+--- Wątek: Problem z DOM i IE, pomocy. (/thread-problem-z-dom-i-ie-pomocy)



Problem z DOM i IE, pomocy. - tuskun - 30-04-2011

Witam, ma duzy problem z dodawaniem elementów formularza za pomocą DOM. W innych przegladarkach działa bez problemu, ale w IE oczywiscie nie Sad musze to naprawic jak najszybciej, proszę o pomoc.

kawałek kodu html:

<form class="formularz" enctype="multipart/form-data" action="wyslij.php" method="post">
<table class="tabela">
<tr>
<td class="kol1">Kategoria:</td>
<td class="kol2"><select name="kat1" size="4">
<option value="" onclick="wypisz(1);">Coś tam</option>
</select>
<select name="kat2" size="4" id="kat2"><option id="a"></option></select>
</td>
</tr>
</table>


a funkcja która po wybrani kategorii w pierwszym select wstawia odpowiednie podkategorie do drugiego selecta:

function wypisz(zmienna){
var elem = document.getElementById("kat2");
if(zmienna==1){
var new_elem = document.createElement("option");
var elem_text = document.createTextNode("cos1");
new_elem.appendChild(elem_text);
new_elem.setAttribute("id", "b");
new_elem.setAttribute("value", "1");
elem.appendChild(new_elem);
var new_elem = document.createElement("option");
var elem_text = document.createTextNode("cos2");
new_elem.appendChild(elem_text);
new_elem.setAttribute("id", "c");
new_elem.setAttribute("value", "2");
elem.appendChild(new_elem);
}
}


Proszę o pomoc bo nie wiem co z tym zrobić.


RE: Problem z DOM i IE, pomocy. - Kartofelek - 30-04-2011

No to spróbuj wstawić inną metodą:
http://doman.art.pl/kursjs/kurs/formularze/formularze.html
czytaj sekcje o selektach
Swoją drogą new_elem.setAttribute("id", "b"); możesz sobie zamienić na new_elem.id = "b"
Ale to i tak jest kiepskie! Widziałeś kiedyś optiony z id?


RE: Problem z DOM i IE, pomocy. - tuskun - 30-04-2011

Jezeli chodzi o id to jest mi potrzebne do późniejszego usuwania niektórych option, ale to akurat nie robi mi problemu. Chodzi tylko o to, ze calosc nie dziala w ogole w IE. Sprawdzalem juz inne metody, sprawdzilem metode podana pod twoim linkiem, tez nie dziala.

Czy ktos moze cos podpowiedziec?


RE: Problem z DOM i IE, pomocy. - Kartofelek - 30-04-2011

Działa. Pewnie w innym miejscu ci sypie, albo w ogóle nie odpala skryptu. Musiałbym zobaczyć całość jako stronę żeby wyszukać błąd...


RE: Problem z DOM i IE, pomocy. - tuskun - 30-04-2011

Kombinowalem i dalej nie dziala, ale cos juz zaczelo dygac.

Zaowazylem, ze w IE w ogole nie odpala sie funckja.
Poprawilem to tak, ze dodalem onclick do znacznika <select> a usunalem ze znacznikow <object>, teraz zaczelo dzialac ale teraz nie wiem jak przekazac do tej funkcji wartosc, poniewaz kazdy z <objektow> przekazywal inna wartosc.

Mozesz mi cos podpowiedziec?
OK juz chyba poszlo, wystarczy przekazac this.value

dziekuje pozdrawiam Smile