Ocena wątku:
  • 1 głosów - średnia: 5
  • 1
  • 2
  • 3
  • 4
  • 5
[javascript] document.write - Dziwny Problem
#1
Exclamation 
Witam. Zaczynam zabawę z JS i zrobiłem coś takiego:
Kod:
<table align="center" cellpadding="0" cellspacing="0">
<tr>
    <td colspan="2">logo</td>
</tr>
<tr>
    <td width="100">
    <button onclick="page(0)">Strona Główna</button>
    <button onclick="page(1)">Kontakt</button>
    </td>
    <td width="700">
    <script>
    function page(id)
    {
        if(id==0) document.write('Witamy na stronie głównej....')
        if(id==1) document.write('Kontakt z nami......')
    }
    </script>
    </td>
</tr>
</table>


Moje intencje były takie: po kliknięciu w button funkcja przekaże ID i warunek sprawdzi który tekst odpowiada temu id... czyli jak kliknie w kontakt to funkcja przekaże wartość ID==1 i się ma wyświetlić tekst Kontakt z nami.....

No i tutaj się pojawił się problem.. owszem pojawia sie tekst ale nie w tabelce, w miejscu w którym dałem <script> tylko w przeglądarce pojawia się biała strona i na niej pisze ten tekst... co robię źle ?

Dodam że jeśli bez funkcji i warunku napiszę w script document.write('Kontakt z nami......') to mi normalnie jak trzeba wyświetla to w tabelce...
Odpowiedz
#2
Wrzuć całą zawartość <script></script> na górę dokumentu (najlepiej do sekcji head). JS znam słabo, ale możliwe, że nie można najpierw odwoływać sie do funkcji a później ją dopiero tworzyć.
Odpowiedz
#3
Kluczowy błąd jaki popełniłeś to wykorzystanie write(), które tworzy czysty dokument i wypisuje treść zamiast właściwości obiektów innerHTML.

Kod PHP:
<head>
    <
script>
        function 
page(id)
        {
            if(
id==0document.getElementById('test').innerHTML 'Witamy na stronie głównej....';
            if(
id==1document.getElementById('test').innerHTML 'Kontakt z nami......';
        }
        </
script>
</
head>
<
html>
</
body>
<
table align="center" cellpadding="0" cellspacing="0">
<
tr>
        <
td colspan="2">logo</td>
</
tr>

<
tr>
    <
td width="100">
        <
button onclick="page(0)">Strona Główna</button>
        <
button onclick="page(1)">Kontakt</button>
        </
td>
        <
td width="700" id="test"></td>
</
tr>
</
table>
</
body>
</
html

Pozdrawiam.
Odpowiedz
#4
A czy jest jakiś sposób na to aby pisać tak:
Kod:
<script>
        function page(id)
        {
            if(id==0) document.getElementById('test').innerHTML = 'Witamy na stronie głównej....<BR>
ta strona jest zrobiona bo costam<BR>
a mnie nie lubi ksiązd<BR>
sra ta ta<BR>';
            if(id==1) document.getElementById('test').innerHTML = 'Kontakt z nami......';
        }
        </script>

Chodzi o użycie entera miedzy ' a ' dla przejrzystości kodu.
Odpowiedz
#5
Oczywiście, że tak:

Kod PHP:
if(id==0document.getElementById('test').innerHTML 'Witamy na stronie głównej....<BR>\
                        ta strona jest zrobiona bo costam<BR>\
                        a mnie nie lubi ksiązd<BR>\
                        sra ta ta<BR>'


Pozdrawiam.
Odpowiedz


Podobne wątki…
Wątek: Autor Odpowiedzi: Wyświetleń: Ostatni post
  Czy ilość zmiennych w javascript, jako języku interpretowanym, ma znaczenie? Jakie gburhiphop 22 22,566 09-09-2016, 21:09
Ostatni post: Ribana
Toungue Problem z nie działającym javascript Radian 4 4,852 20-03-2015, 16:31
Ostatni post: Radian
  JavaScript podstawy bryndzyk 5 4,226 18-05-2013, 21:17
Ostatni post: ferrante
  JavaScript Gmaps Api Rysowanie Squezzer 0 2,080 16-05-2013, 18:18
Ostatni post: Squezzer
  itegracja lightboxa z "like button" z JavaScript SDK sakkada 4 4,800 04-01-2013, 01:39
Ostatni post: sakkada

Skocz do:


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