PDA

View Full Version : kako ?!?


spyder
09-01-2002, 14:11
Imam problem, kako napraviti da kada recimo posjetitelj ispuni neki formulat, ali zaboravi ili ne želi upisati neki podatak koji bi ja želio da upiše npr. e-mail adresu i sada ga želim zaustaviti tako da kad stisne na submit pojavi mu se poruka npr. zaboravili ste unjeti e-mail adresu ili tako nešto.

BTW.
Molim vas da mi objasnite koja je razlika između .html dokumenta i .htm, a ako je nema zašto takvo što postoji.

Ista stvar i s PHP, PHP3 i PHP4 iako mislim da su to neke verzije ili tako nešto.

centio
09-01-2002, 15:35
Pomocu jednostavne JS skripte:

[html]


function validate()
{
x=document.nekoime
at=x.mail.value.indexOf("@")
submitOK="True"
if (at==-1)
{
alert("Upisi pravilan e-mail")
submitOK="False"
}
if (submitOK=="False")
{
return false
}
}


[body]
[form method="post" action="mailto:mail@mail.com" name="nekoime" onsubmit="return validate()"].....

centio
09-01-2002, 15:38
Hm, koja se nazalost ne vidi.....

centio
09-01-2002, 15:43
aha, umjesto <> [], ok.

Kongi
09-01-2002, 15:44
između html i htm filea mislim da nema. I jedno i drugo su HTML dokumenti.

A na pitanje o PHP i PHP3 razlikama si si sam odgovorio.

Što se tiče skripte možeš ju riješiti i JavaScriptom kakvu ti je poslo centio ili možeš koristiti jedan od server side skriptnih jezika.

Generalni algoritam bi izgledao ovako:

Ispunjavanje forme
Slanje forme
Provjera željenih polja (ako želiš provjeriti je li prazno polje koristiš ovako nešto : if (ime_polje=="") { izvrši akciju }

i zadni korak ponavljaš za svako željeno polje.

Ako želiš provjeriti sadržaj polja sliči li nekoj vrijednosti moraš koristiti Regular expresionse. Ovo je malo opširnija tema pa si ju potraži na netu. MOžeš ih koristiti i u JavaScriptu ili bilo kojem drugom server-side ili client-side jeziku

spyder
09-01-2002, 17:15
Daj mi malo pojasni ove varijable at i x, što trebam mjenjati da bi skripta radila, jer baš i nisam stručnjak za JavaScript (Više preferiram C++), makar je to slično vidim.

Konkretno dali ovdje treba kaj mjenjati:

x=document.nekoime
at=x.mail.value.indexOf("@")

Hvala

centio
09-01-2002, 20:57
Sto bi trebalo mijenjat? Nista. Skripta radi, sad sam provjerio.
Mozes promjenit kod varijable x ime, recimo da ne bude x=document.nekoime nego x=document.tvojeime, ostalo ne diraj.
Ustvari kod alert jos mozes upisati svoju poruku.

spyder
09-01-2002, 22:28
... a što ako ja želim da se treba ispuniti više input polja npr. e-mail, ime, prezime i adresa, kako to srediti.

centio
10-01-2002, 08:40
function validate()
{
x=document.nekoime
at=x.mail.value.indexOf("@")
pod=x.nekoime.value
kontakt=x.ime.value
submitOK="True"
if (at==-1)
{
alert("Upisi pravilan e-mail")
submitOK="False"
}
if (pod.length<2)
{
alert("Znas li uopce kako se zoves")
submitOK="False"
}
if (kontakt.length<3)
{
alert("Zaboravio si upisat adresu")
submitOK="False"
}
if (submitOK=="False")
{
return false
}
}


Sa prvim provjeravas mail, sa drugim recimo ime i sa trecim adresu.

Kongi
16-01-2002, 16:05
... neki način da se nekom for petljom provjere sva polja. Provjerava se samo ima li nešto upisano u svim poljima ili ne te ukoliko nema alert javlja poruku da nisu sva polja ispunjena?

malo sam se igrao sa ovom skripticom, ali nešto radim krivo.


function ProvjeraPolja(forma){
prolaz=true;
foreach (a=forma.elements[]){
if (a.value==""){
prolaz=false;
}
}
if (prolaz==true){
return true;
} else {
return false;
alert("Niti jedno polje ne smije ostati prazno");

}

}



Mislim da je greška u onom foreach, ali volio bih kada bi mi netko sa malo više iskustva odgovorio.

Funkcija se poziva na OnSubmit forme i dobija formu kao argument