Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 1 odgovor
  • 1.692 pregleda

Najnovija ↓

Pomoc-objasniti primer 02.06.2011. u 21:00 · pre 187 meseci
izmenjeno 1 put, poslednji put Aleksandar Ružičić 03.06.2011. u 00:35
  1. Aleksandar Ružičić03.06.2011. u 00:35zapis iz teksta poruke
#1
Moze li neko molim vas da mi detaljno objasni sledeci primer:

Code (html):

<!DOCTYPE HTML PUBLIC "-//W3C//Dtd HTML 4.0 transitional//EN">
<html>
<head>
<TITLE>DAN ROÐENJA</TITLE>
 
<script LANGUAGE="JavaScript">
<!--
function MakeArray(n) {
  this.length = n;
  for (var i = 1; i <=n; i++) {
    this[i] = 0;
  }
}

// definiranje dana u tjednu
nazivDana = new MakeArray(7);
nazivDana[0] = "Subota"
nazivDana[1] = "Nedjelja"
nazivDana[2] = "Ponedjeljak"
nazivDana[3] = "Utorak"
nazivDana[4] = "Srijeda"
nazivDana[5] = "Èetvrtak"
nazivDana[6] = "Petak"

// definiranje mjeseca
nazivMjeseca = new MakeArray(12);
nazivMjeseca[1] = "Sijeèanj"
nazivMjeseca[2] = "Veljaèa"
nazivMjeseca[3] = "Ožujak"
nazivMjeseca[4] = "Travanj"
nazivMjeseca[5] = "Svibanj"
nazivMjeseca[6] = "Lipanj"
nazivMjeseca[7] = "Srpanju"
nazivMjeseca[8] = "Kolovoz"
nazivMjeseca[9] = "Rujan"
nazivMjeseca[10] = "Listopad"
nazivMjeseca[11] = "Studeni"
nazivMjeseca[12] = "Prosinac"

// funkcija za izraèun dana u tjednu
function izracunajDanUtjednu(mojaForma) {
  var xDan = parseInt(mojaForma.dan.value, 10)
  if ((xDan < 0) || (xDan > 31)) {
     alert("Dan je izvan opsega!")
  }
  var xMjesec = parseInt(mojaForma.mjesec.value, 10)
  if ((xMjesec < 0) || (xMjesec > 12)) {
     alert("Mjesec je izvan opsega!")
  }  
  var xMjesecx = parseInt(mojaForma.mjesec.value, 10)
  var xGodina = parseInt(mojaForma.godina.value, 10)
  if (xGodina < 1900) {
     alert("Godina je izvan opsega!")
  }
  if (xMjesec == 1) {
     xMjesecx = 13;
     xGodina = xGodina-1
  }
  if (xMjesec == 2) {
     xMjesecx = 14;
     xGodina = xGodina-1
  }
  var x01 = parseInt(((xMjesecx+1)*3)/5, 10)
  var x02 = parseInt(xGodina/4, 10)
  var x03 = parseInt(xGodina/100, 10)
  var x04 = parseInt(xGodina/400, 10)
  var x05 = xDan+(xMjesecx*2)+x01+xGodina+x02-x03+x04+2
  var x06 = parseInt(x05/7, 10)
  var x07 = x05-(x06*7)
  mojaForma.datumRodjenja.value = nazivMjeseca[xMjesec]+" "+mojaForma.dan.value +", "+mojaForma.godina.value
  mojaForma.danRodjenja.value = nazivDana[x07]
}  

//  -->
</script>
 
</HEAD>
 
<BODY>
 
<h3>KOJEG DANA U TJEDNU STE ROÐENI?</h3>
 
<p><B>Upišite datum vašeg roðenja</b></p>
 
<form>
  <p>Dan roðenja (1-31): <input TYPE="text" NAME="dan" SIZE="2"> </p>
  <p>Mjesec roðenja (1-12): <input TYPE="text" NAME="mjesec" SIZE="2"> </p>
  <p>Godina roðenja (npr. 1980): <input TYPE="text" NAME="godina" SIZE="4"> </p>
  <p><input TYPE="button" VALUE="Izraèunaj" ONCLICK="izracunajDanUtjednu(this.form)">
     <input TYPE="reset" VALUE="Poništi"> </p>
  <p>Datum roðenja: <input TYPE="text" NAME="datumRodjenja" SIZE="18"> </p>
  <p>Dan u tjednu: <input TYPE="text" NAME="danRodjenja" SIZE="18"> </p>

</form>
 


PS:Hitno je i hvala unapred..:)


[moderator: ubačeni [code][/code] tagovi]
Potpis
Asya
Re: Pomoc-objasniti primer 03.06.2011. u 13:01 · pre 187 meseci #2
Šta nije jasno u kodu?

Klikom na dugme izračunaj poziva se JavaScript funkcija izracunajDanUtjednu().
Zatim npr
Code:

  var xDan = parseInt(mojaForma.dan.value, 10)
  if ((xDan < 0) || (xDan > 31)) {
    alert("Dan je izvan opsega!")
  }

Uzima se vrednost za polje sa nazivom dan i pošto se očekuje da je vrednost polja celi broj (celobrojna vrednost) koristi se parseInt, vrednost koju vraća osobina value je string, drugi argument funkcije parseInt je da se osigura, odnosno ukloni, ukoliko neko unese dan koji na prvom mestu ima nulu (0), npr. "09", da to parseInt funkcija ne bi videla kao oktalnu vrednost.
Pomoću if petlje se ispituje da li je uneti dan u odgovarajućem opsegu 1-31

Slično sve ovo se radi i za polja mjesec i godina, da ne pišem duplo samo su različiti opsezi.

Zatim se na osnovu unetih vrednosti računa dan u nedelji. Pogledaj Zeller's congruence a takođe možeš pogledati i Doomsday algoritam, ili Calculating the day of the week, možda i grešim nisam baš detaljno gledao, ispraviće me neko.

Ovo bi moglo možda i jednostavnije da se računa, pomoću već ugrađenih mogućnosti u Date objektu, nešto kao

Code:
new Date(godinaRođenja, mececRođenjaOd_0_Do_11, danRodjena).getDay()

pri čemu se dobija vrednost od 0 do 6, pri čemu je 0 Nedelja a 6 Subota.
Potpis
Banned - Not available
Sviđa mi se1
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme