![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 5 Pomógł: 0 Dołączył: 4.04.2009 Ostrzeżenie: (0%) ![]() ![]() |
Witam
To mój pierwszy post na forum. Zmieniam skryptem js pole formularza input "upload pliku" file, na text: Kod document.formularz_dodaj.p_nazwa.type="text;" W FF i Operze działa świetnie natomiast nie chce w IE. Pojawia się komunikat: Cytat Nie można odczytać właściwości: type. To polecenie nie jest obsługiwane. Czy można jakoś inaczej zmienić typ obiektu input file? |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 305 Pomógł: 25 Dołączył: 27.01.2007 Ostrzeżenie: (0%) ![]() ![]() |
Input zagnieżdżasz w jakimś elemencie nadrzędnym (np. DIV). Następnie chcąc zmienić typ pola - zmieniasz zawartość pola DIV (innerHTML) wstawiając nowe pole. Możesz też wyczyścic ten DIV i działać na modelu DOM.
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 5 Pomógł: 0 Dołączył: 4.04.2009 Ostrzeżenie: (0%) ![]() ![]() |
Input zagnieżdżasz w jakimś elemencie nadrzędnym (np. DIV). Następnie chcąc zmienić typ pola - zmieniasz zawartość pola DIV (innerHTML) wstawiając nowe pole. Możesz też wyczyścić ten DIV i działać na modelu DOM. Jestem żółtodziobem. W js siedzę dopiero 4godziny ;/ Czytałem, że innerHTML nie jest żadnym standardem, więc wolałbym z niego nie korzystać. Wolałbym skorzystać z modelu DOM. Czy ten zapis, który używam w wyżej podanym skrypcie to jest z modelu DOM? Input zagnieżdżasz w jakimś elemencie nadrzędnym Kod <span class="postcolor"><form name="formularz_dodaj"</span> metod="... > <input name="<span class="postcolor">p_nazwa</span>" type="file" /> ..... </form> Elementem nadrzędnym jest formularz. I właśnie wyżej podany zapis działa w FF, nie działa w IE. Jak przechytrzyć IE? Ten post edytował zacharyjos 4.04.2009, 16:30:20 |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 305 Pomógł: 25 Dołączył: 27.01.2007 Ostrzeżenie: (0%) ![]() ![]() |
Twój przykład nie dotyczy DOM.
Możesz zrobić : Kod <div id="pole"> <input type="text" id="stary" /> </div> <input type="button" value="zmień input" onclick="zmien_przycisk()" /> <script type="text/javascript"> function zmien_przycisk() { var stary_element = document.getElementById('stary'); var pole = document.getElementById('pole'); pole.removeChild(stary_element); var nowy_element = document.createElement('input'); nowy_element.type = 'file'; pole.appendChild(nowy_element); } </script> Przy pomocy innerHTML łatwiej i wcale nie tak wbrew standardom. Pozdrawiam. |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 305 Pomógł: 25 Dołączył: 27.01.2007 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.08.2025 - 20:11 |