Forum Webmastera, HTML, CSS, PHP, MySQL, Hosting, Domeny - Forum dla Webmasterów
[javascript] document.write - Dziwny Problem - 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: [javascript] document.write - Dziwny Problem (/thread-javascript-document-write-dziwny-problem)



[javascript] document.write - Dziwny Problem - ladownik - 18-04-2008

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...


RE: [javascript] document.write - Dziwny Problem - Marcin - 21-04-2008

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ć.


RE: [javascript] document.write - Dziwny Problem - Radek - 22-04-2008

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.


RE: [javascript] document.write - Dziwny Problem - ladownik - 22-04-2008

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.


RE: [javascript] document.write - Dziwny Problem - Radek - 22-04-2008

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.