Mój problem polega na tym, że po stworzeniu skryptu, gdy zapisuje plik jako .js i otwieram w dowolnej przeglądarce, to jego treść wyświetla się w przeglądarce, a skrypt się nie wykonuje. Przeglądarka ma włączoną obsługę js. W czym może tkwić problem?
plików *.js nie wykonuje się bezpośrednio - załącza się je do stron w HTML (w przypadku, gdy mówimy o javascripcie jako języku client-side dla przeglądarek, bo można też pisać kod serwerowy js - patrz projekt node.js).
przenoszę do Newbie, bo ominąłeś podstawy i nie zamierzasz się sam nimi zainteresować
w tym ze tak to dziala. podajac adres do pliku .js, przegladarka zaciaga jego zrodlo. cos jak inlude
i potem te skrypty trzeba wykonac.
odpal pierwszy kurs javascript np. ten: http://kursjs.pl/kurs/pierwszy_skrypt.html i przeczytaj jak to wszystko dziala. wtedy latwo odpalisz sobie te skrypty.
notabene skrypty odpalac mozesz bezpsorednio z paska adresu w przegladarce javascript:twojKodJs();
np. javascript:alert("tutaj jestem");
wyswietli ci alert box. ale tobie raczej nie o to chodzi :)
<html>
<head>
<script type="text/javascript">
var dzisiaj = new Date();
var dzien = dzisiaj.getDate();
var miesiac = dzisiaj.getMonth()+1;
var rok = dzisiaj.get.FullYear();
var godzina = dzisiaj.getHours();
var minuta = dzisiaj.getMinutes();
var sekunda = dzisiaj.getSeconds();
</script>
</head>
<body>
<div id="zegar"></div>
<script type="text/javascript">
document.getElementByld("zegar").innerHTML = dzien;
</script>
<body>
</html>
Mój skrypt wygląda tak. Zapisuje go do pliku zegar.js, bo jest to zegar skrypt który pobiera informacje o czasie systemowym i umieszcza je na stronie. Zamiast wykonania skryptu wyświetla mi się cały kod... Co zrobić, aby skrypt się wykonał. Zaczynam poznawać JS i w szkole, kiedy zapisywałem pliki z rozszerzeniem .js wykonywały się one bezpośrednio.
dodanie znacznika <code class="html">
- @furious programming
To jest kod html z kodem js więc nie żadne zegar.js tylko zegar.html
Dzięki, musiało mi się coś pomieszać, rzeczywiście wywołanie skryptu z html działa poprawnie :)
Jeszcze jedno pytanie. Co jest nie tak w tej składni? Skrypt z instrukcją if ma po wpisaniu hasla Df45 zwrócić komunikat "Witaj", a po wpisaniu złego hasła komunikat"zle haslo".
Problem, że skrypt nie reaguje na naciśnięcie buttona.
<html>
<head>
<script type="text/javascript">
function publishbutton1()
{
var x=prompt("podaj haslo","podaj haslo");
var y=Df45
{
if (x=y)
{
alert ("witaj")
}
else
{
alert ("zle haslo")
}
</script>
</head>
<body>
<input type="button" onclick="publishbutton1()" value="wprowadz haslo" />
<body>
</html>
dodanie znaczników <code class="html"> i <code class="javascript">
- @furious programming
var y=Df45
Hasło, jeśli jest tekstem powinno być w cudzysłowach, poza tym kończ instrukcje średnikami. Konsola Javascriptowa coś krzyczy? (Np. w Chrome Ctrl+Shift+J się ją otwiera jak coś :P )
Edit: Jeszcze jedno:
if(x=y)
Porównuje się podwójnym znakiem równości, w tym wypadku robisz przypisanie
Ok poprawiłem porównanie i wstawiłem hasło w cudzysłów.
Problem wygląda tak.
Klikam buttona, wyskakuje mi okno. Wpisuje hasło i klikam ok. W zależności od poprawności hasła, przycisk powinien zniknąć i wyświetlić komunikat "witaj", albo "zle haslo".
Więc problem pewnie leży gdzieś w tej części skryptu:
if (x==y)
{
alert("witaj")
}
else
{
alert("zle haslo")
}
a konsola informuje, że x nie jest zdefiniownane :|"x is not defined" - przecież x ma być wprowadzone ręcznie
dodanie znacznika <code class="javascript">
- @furious programming
<script type="text/javascript">
function publishbutton1()
-------> {
var x=prompt("podaj haslo","podaj haslo");
var y="Df45";
if (x==y)
{
document.write("witaj")
}
else
{
document.write("zle haslo")
}
-------> }
</script>
Ok, działa. Wszystko polegało na zamknięciu całej funkcji nawiasem klamrowym.
dodanie znacznika <code class="javascript">
- @furious programming
<html>
<head>
<script type="text/javascript">
for (x=2; x<=20; x++)
document.write(x%2==0)
</script>
</head>
<body>
</body>
</html>
Byłbym wdzięczny za pomoc w rozwiązaniu tego skryptu. Skrypt ma wyświetlać liczby zakresu od 2 do 20, które są parzyste. Po uruchomieniu go, wyskakuje komunikat
truefalsetruefalsetruefalsetruefalsetruefalsetruefalsetruefalsetruefalsetruefalsetrue
dodanie znaczników <code> i <code class="html">
- @furious programming
Jak wstawisz kod w znaczniki "kolorujące", to Ci napiszę co trzeba poprawić.
No bo Ty nie wyswietlasz liczb, tylko informacje czy liczba jest parzysta czy nie (stad ten ciag true, false, true... itd)