Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Problem z kodem html
#1
Witam

Jestem w trakcie nauki i podczas jednych wypocin pojawił mi sie problem z kodem.

Kod:
<script>
function wstawianie1() {
                            wtapianie  = document.getElementById('komorka_i');
                            komorka_i.value = '1'}
function wstawianie2() {
                            wtapianie  = document.getElementById('komorka_i');
                            komorka_i.value = '2'}
function wstawianie3() {
                            wtapianie  = document.getElementById('komorka_i');
                            komorka_i.value = '3'}
function wstawianie4() {
                            wtapianie  = document.getElementById('komorka_i');
                            komorka_i.value = '4'}

function warunek_pierwszy() {
                             if(komorka_i.value == '1'){komorka_i1.value = 'warunek 1 - OK'}
                             else{komorka_i1.value = 'warunek 1 - NOK'}}
</script>
<input name="komorka_n"  id="komorka_i"  type="text"   value=""                                       />
<input name="przycisk_n1" id="przycisk_i1" type="button" value="Press 1"      onclick="javascript:wstawianie1();"  />
<input name="przycisk_n2" id="przycisk_i2" type="button" value="Press 2"      onclick="javascript:wstawianie2();"  />
<input name="przycisk_n3" id="przycisk_i3" type="button" value="Press 3"      onclick="javascript:wstawianie3();"  />
<input name="przycisk_n3" id="przycisk_i4" type="button" value="Press 4"      onclick="javascript:wstawianie4();"  />
<input name="komorka_n1"  id="komorka_i1"  type="text"   value="test warunek"                           />
<input name="przycisk_n5" id="przycisk_i5" type="button" value="Press warunek 1"      onclick="javascript:warunek_pierwszy();"  />

W tej postaci odpalony w firefox'ie działa w 100%. Natomiast jak dostawia pozostały szkielet strony tj. <html head i body> to wówczas nie chce odpalić w przegladarce firefox'a. Poniżej kod cały:

Kod:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">

<head>
  <title></title>
  <script     type="text/javascript">

function wstawianie1() {
                            wtapianie  = document.getElementById('komorka_i');
                            komorka_i.value = '1'
}
function wstawianie2() {
                            wtapianie  = document.getElementById('komorka_i');
                            komorka_i.value = '2'
}
function wstawianie3() {
                            wtapianie  = document.getElementById('komorka_i');
                            komorka_i.value = '3'
}
function wstawianie4() {
                            wtapianie  = document.getElementById('komorka_i');
                            komorka_i.value = '4'
}

function warunek_pierwszy() {
                             if(komorka_i.value == '1'){
                               komorka_i1.value = 'warunek 1 - OK'
                             }
                             else{
                               komorka_i1.value = 'warunek 1 - NOK'
                             }
}

</script>

</head>
<body>

<input name="komorka_n"  id="komorka_i"  type="text"   value=""                                       />

<input name="przycisk_n1" id="przycisk_i1" type="button" value="Press 1"      onclick="javascript:wstawianie1();"  />
<input name="przycisk_n2" id="przycisk_i2" type="button" value="Press 2"      onclick="javascript:wstawianie2();"  />
<input name="przycisk_n3" id="przycisk_i3" type="button" value="Press 3"      onclick="javascript:wstawianie3();"  />
<input name="przycisk_n3" id="przycisk_i4" type="button" value="Press 4"      onclick="javascript:wstawianie4();"  />

<input name="komorka_n1"  id="komorka_i1"  type="text"   value="test warunek"                           />

<input name="przycisk_n5" id="przycisk_i5" type="button" value="Press warunek 1"      onclick="javascript:warunek_pierwszy();"  />

</body>
</html>

Co ciekawe w programie edycyjnym działa w 100%. Podobny jest problem
w przypadku kodu javascript umieszczonym w pliku zewnetrznym.

Byłbym bardzo wdzieczny za naprowadzenie mnie na błąd w kodzie.
Właśnie odpaliłem na Chrome i IE i wszystko OK. Na firefox'ie nie działa. Ciekawe czemu bo inne skrypty chodzą bez problemu.
Odpowiedz
#2
Zadanie 1:
Wyjaśnij nieprawidłowość poniższego kodu

Kod:
wtapianie = document.getElementById('komorka_i');
komorka_i.value = '1'
...
...
<input name="komorka_n1" id="komorka_i1" type="text" value="test warunek" />

Rozwiązanie:
Powyższy kod oznacza "pobierz element komorka_i i zrób z nim coś tam". Niestety skrypt nie widzi danego elementu, bo gry się wykonuje, element komorka_i jeszcze nie istnieje (wczytuje się później ponieważ kod czytany jest z góry na dół)

Odpowiedź:
Skrypty zawsze umieszczamy na końcu strony, tuż przed tagiem </body>. Dzięki temu skrypty widzą nasze elementy + wczytuje pierwsze wczytuje się to co jest najważniejsze - czyli treść sttrony.

Zaliczone na 5 Smile

Ps. Patrz na samym dole czarna ramka):
http://doman.art.pl/kursjs/kurs/pierwszy_skrypt.html
Odpowiedz
#3
" Zaliczone na 5 Smile "

No raczej nie. Pozmieniałem trochę i dalej nic.

Kod:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head><title></title></head>
<body>

<input name="komorka_n"   id="komorka_i"   type="text"   value=""/>
<input name="komorka_n1"  id="komorka_i1"  type="text"   value="test warunek"/>

<input name="przycisk_n5" id="przycisk_i5" type="button" value="Press warunek 1" onclick="javascript:warunek_pierwszy();"  />

<input name="przycisk_n1" id="przycisk_i1" type="button" value="Press 1"      onclick="javascript:wstawianie1();"  />
<input name="przycisk_n2" id="przycisk_i2" type="button" value="Press 2"      onclick="javascript:wstawianie2();"  />
<input name="przycisk_n3" id="przycisk_i3" type="button" value="Press 3"      onclick="javascript:wstawianie3();"  />
<input name="przycisk_n3" id="przycisk_i4" type="button" value="Press 4"      onclick="javascript:wstawianie4();"  />
<script     type="text/javascript">
    //<![CDATA[
        function wstawianie1() { komorka_i.value = '1' };
        function wstawianie2() { komorka_i.value = '2' };
        function wstawianie3() { komorka_i.value = '3' };
        function wstawianie4() { komorka_i.value = '4' };
        function warunek_pierwszy() { if(komorka_i.value == '1'){ komorka_i1.value = 'warunek 1 - OK'}
                                        else{ komorka_i1.value = 'warunek 1 - NOK'}};
    //]]>
</script>
</body>
</html>

Nie wiem co jest ztym nie tak. Sprawdzałem na innym kompie na firefox'ie i daje nie chodzi a na innych przegladarkach jest ok. Nie jestem dobry w javie i dlatego nie potrafie dostrzec problemu choć sam kod jest banalnie prosty.
Odpowiedz
#4
A to ze pozmienialeś to już twoja sprawa. Ja ci tylko napisałem żebyś skrypty umieścił na końcu dokumentu, a nie je zmieniał (błędnie zmieniał). Jak ma ci to działać skoro nawet elementów nie pobierasz.
Odpowiedz
#5
Jak zauważysz to w kodzie jest tylko przypisywana wartość np. "1" komórce o jakimś "id" a nastepnie ma to być wyświetlone w polu tekstowym. I to wszystko. czyli raczej bez pobierania sie obejdzie.
Problem jest natomiast z :
Kod:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
Jak usunę to, to wszystko jest OK. Nie wiem co jest nie tak z tym kodem.
Odpowiedz
#6
Nie no spoko. Tak się tylko pytałem. Skoro wiesz lepiej to dobrze ;]

A ja i tak będę głupi i się będę upierał że w 1 wersji miałeś coś takiego jak pobranie elementu
Kod:
wtapianie  = document.getElementById('komorka_i');

a w drugiej to usunąłeś. Ale zaznaczam raz jeszcze - ja się nie znam Sad
Odpowiedz
#7
Bez obrazy dla ciebie ale nie mędrkuj tylko powiedz mi dlaczego nawet wpisaną wcześniej linijką kodu (którą usunąłem) nie działa mi ten kod. Nie wiem czemu działa po usunięciu deklaracji DOCTYPE a z nią nie działa. Może funkcje źle napisałem albo źle ją uruchamiam. Przyznam, że nie wiem. Nie jestem geniuszem w tych rzeczach a potrzebuje ten skrawek kodu do mojej strony.
Odpowiedz
#8
Już ci pisałem 2 razy. Ale nie uważasz.
Napisałem wyraźnie - przenieś SKRYPT na koniec strony. Nic więcej miałeś nie robić, ale ty pozmieniałeś kod.

Czemu ci nie działa jak dodajesz doctype? Może dlatego że tag SCRIPT wymaga podania typu?
Zapraszam do lektury i więcej pokory:

http://doman.art.pl/kursjs/kurs/pierwszy_skrypt.html

Z mojej strony temat zakończony. Niech inni ci pomagają bo miłe to to nie jest.
Odpowiedz
#9
Nikogo nie miałem zamiaru obrażać ale jak ci ktoś pisze coś co już próbowałeś robić to ciężko nie jest odreagować w ten sposób. Mimo to dzięki. Będę musiał coś innego wymyślić albo inną drogę obrać w pisaniu nowego kodu.
pzdr
Problemem był fragment kodu który był źle zapisany:
Kod:
wtapianie  = document.getElementById('komorka_i');
komorka_i.value = '1'
a powinno być:
Kod:
wtapianie  = document.getElementById('komorka_i');
wtapianie.value = '1'
no i po sprawie.
Dzieki za pomoc. Temat do zamknięcia.
Odpowiedz
#10
Czego nie rozumiesz z tej wiadomości?

Kartofelek, podał Ci R O Z W I Ą Z A N I E.

(13-06-2011, 20:46)Kartofelek napisał(a): Zadanie 1:
Wyjaśnij nieprawidłowość poniższego kodu

Kod:
wtapianie = document.getElementById('komorka_i');
komorka_i.value = '1'
...
...
<input name="komorka_n1" id="komorka_i1" type="text" value="test warunek" />

Rozwiązanie:
Powyższy kod oznacza "pobierz element komorka_i i zrób z nim coś tam". Niestety skrypt nie widzi danego elementu, bo gry się wykonuje, element komorka_i jeszcze nie istnieje (wczytuje się później ponieważ kod czytany jest z góry na dół)

Odpowiedź:
Skrypty zawsze umieszczamy na końcu strony, tuż przed tagiem </body>. Dzięki temu skrypty widzą nasze elementy + wczytuje pierwsze wczytuje się to co jest najważniejsze - czyli treść sttrony.

Zaliczone na 5 Smile

Ps. Patrz na samym dole czarna ramka):
http://doman.art.pl/kursjs/kurs/pierwszy_skrypt.html
Odpowiedz


Podobne wątki…
Wątek: Autor Odpowiedzi: Wyświetleń: Ostatni post
  Jak zrobć POP-UP w html/php i proste pytanko html? MrOMGWTF 7 5,567 01-05-2021, 10:56
Ostatni post: wozniak
  Strona HTML na zaliczenie - dodaj, usuń, edytuj Kurana 1 2,091 01-07-2019, 03:31
Ostatni post: mpire
  [HTML] Filmik zamiast obrazka wyróżniającego kuklaale 1 2,759 02-11-2016, 18:36
Ostatni post: martt4dg
  Problem zm osadzeniem skryptu lighbox w kodzie html gajowy873 2 3,712 24-09-2016, 02:22
Ostatni post: Anatol64
  [CSS][HTML] Ustawienie obrazka z boku strony Witek7777 8 8,476 22-09-2016, 01:05
Ostatni post: pocahontas

Skocz do:


Użytkownicy przeglądający ten wątek: 1 gości
Sponsorzy i przyjaciele
SeoHost.pl