Poslao: 23 Maj 2013 00:23
|
offline
- Nemanja
- Web Designer and Developer
- Pridružio: 24 Jan 2007
- Poruke: 266
|
Pozdrav,
potrebno mi je da odradim validaciju forme preko javascript-a. E sad odradio sam da prepoznaje da li je vrednost numerička ili string:
var brTelefona=document.forms["noviKlijentForm"]["brTelefona"].value;
var anum=/(^\d+$)/;
if (anum.test(brTelefona))
{}else{
alert("Број телефона клијента мора бити унешен!\nДозвољени карактери: 0-9, /, - !");
return false;
}
kako da omogućim da dozvoli i unos karaktera "-" i "/" ?
|
|
|
Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
|
|
Poslao: 29 Jun 2013 09:40
|
offline
- markoni2202
- Novi MyCity građanin
- Pridružio: 29 Jun 2013
- Poruke: 5
|
Potreban ti je regular expresion za telefonski broj. Na primer : \(?(\d{3})\)?-?(\d{3})-(\d{4})
|
|
|
|
Poslao: 29 Jun 2013 14:06
|
offline
- Nemanja
- Web Designer and Developer
- Pridružio: 24 Jan 2007
- Poruke: 266
|
Da, ali zar u tom slučaju neće dozvoljavati samo unos u ovom formatu: XXX-XXX-XXXX ?
|
|
|
|
Poslao: 02 Jul 2013 07:12
|
offline
- markoni2202
- Novi MyCity građanin
- Pridružio: 29 Jun 2013
- Poruke: 5
|
Da, u pravu si. Nisam mislio da je taj regular expresion resenje koje trazis, vec da potrazis na netu regular expression koji ti odgovara. Ne pametujem vec samo ti kazem kako bih ja to radio. Izvini ako ti je ovo nepotrebno. pozdrav!
|
|
|
|
Poslao: 09 Jul 2013 10:02
|
offline
- FoxVanis
- Ugledni građanin
- Web Designer, PHP Developer; HTML, CSS, SQL, jQuery Programmer
- Pridružio: 13 Jun 2010
- Poruke: 307
- Gde živiš: Subotica
|
Druže, moj predlog ti je jQueryUi za celu formu i koristi Regular Expression.
To ti je najbolje rešenje - veruj mi. Jedino predlažem to isto da uradiš posle u PHP kao neku vrstu sigurnosti ako se "slučajno" zaobiđe javaskript nekom drugom skriptom.
Evo ti jedan primer na sajtu http://www.vpsserveri.in.rs/pitchrate/
A evo ti i kod:
<script type="text/javascript">
//<![CDATA[
$("#submit_sin_up").click(
function()
{
var name = $("#name").val();
var lastname = $("#lastname").val();
var email = $("#email").val();
var pattern = /^\b[A-Z0-9._%-]+@[A-Z0-9.-]+\.[A-Z]{2,4}\b$/i;
if(name == "" & lastname == "" & email == "")
{
$("#sin_up_message").fadeTo(0, 0);
$("#sin_up_message").fadeTo("slow", 1).html("<center><div class='login_error'>You must to fill all fields</div></center>");
return test(name);
}
else if(name == "")
{
$("#sin_up_message").fadeTo(0, 0);
$("#sin_up_message").fadeTo("slow", 1).html("<center><div class='login_error'>You must fill the field \"Name\"</div></center>");
return;
}
else if(lastname == "")
{
$("#sin_up_message").fadeTo(0, 0);
$("#sin_up_message").fadeTo("slow", 1).html("<center><div class='login_error'>You must fill the field \"Last name\"</div></center>");
return;
}
else if(email == "")
{
$("#sin_up_message").fadeTo(0, 0);
$("#sin_up_message").fadeTo("slow", 1).html("<center><div class='login_error'>You must fill the field \"Email\"</div></center>");
return;
}
else if(!pattern.test(email))
{
$("#sin_up_message").fadeTo(0, 0);
$("#sin_up_message").fadeTo("slow", 1).html("<center><div class='login_error'>You must enter a valid e-mail address</div></center>");
return;
}
else if ($("#terms").is(":checked"))
{
$("#sin_up_message").fadeTo(0, 0);
$("#sin_up").slideUp("slow", function(){
$("#sin_up_message").fadeTo("slow", 1).html("<center><div class='login_success'>Loading Data<br />Please Wait</div></center>");
setTimeout(function(){ $("#sin_up").submit(); },3000); });
return;
}
else
{
$("#sin_up_message").fadeTo(0, 0);
$("#sin_up_message").fadeTo("slow", 1).html("<center><div class='login_error'>If you want to be a member, you must confirm the terms and conditions of this site</div></center>");
return;
}
return false;
});
$("#sin_up").keyup(function(e){if (e.which == 13) $("#submit_sin_up").click();return;});
setTimeout(function(){$(".login_error").fadeTo(1000, 0); setTimeout(function(){$(".login_error").html("");return;},1000);},8000);
//]]>
</script>
Javaskript ispisuje greške ako polja nisu popunjena jer su sva obavezna, ako email nije dobro upisan onda obaveštava i ako "terms and conditions" nisu potvrđeni onda takođe obavesti. Kada je sve OK onda loaduje i pokrene form a sve ostalo PHP.
Ovo je HTML:
<form enctype="multipart/form-data" method="post" action="index.php" name="sin_up" id="sin_up">
<div><div>Name :</div><input type="text" name="name" id="name" value="" size="30"></div>
<div><div>Last name :</div><input type="text" name="lastname" id="lastname" value="" size="30"></div>
<div><div>Email :</div><input type="text" name="email" id="email" value="" size="30"></div>
<div class="therms"><input name="terms" id="terms" type="checkbox"><a target="_blank" href="#">Yes, I have read and agree to the terms and conditions of this site.</a></div>
<div><input name="submit_sin_up" class="button blue" id="submit_sin_up" type="button" value="Sign up" /></div>
</form>
<div id="sin_up_message"></div>
Super je stvar, lično sam ja pisao kod i radi bez greške. Pokušaj!
|
|
|
|
Poslao: 12 Jul 2013 16:37
|
offline
- Pridružio: 25 Jan 2004
- Poruke: 2784
- Gde živiš: Niš
|
@FoxVanis
Jedan savet - svaki put u tvom kodu selektor $("#sin_up_message") protrči kroz celokupan DOM. Bind-uj ga u neku promenljivu tako da on uvek ima pointer na DOM elemenat. Nadam se da ne grešim, ali ne znam još uvek da jQuery to radi sam.
|
|
|
|
Poslao: 12 Jul 2013 18:01
|
offline
- FoxVanis
- Ugledni građanin
- Web Designer, PHP Developer; HTML, CSS, SQL, jQuery Programmer
- Pridružio: 13 Jun 2010
- Poruke: 307
- Gde živiš: Subotica
|
Default ::@FoxVanis
Jedan savet - svaki put u tvom kodu selektor $("#sin_up_message") protrči kroz celokupan DOM. Bind-uj ga u neku promenljivu tako da on uvek ima pointer na DOM elemenat. Nadam se da ne grešim, ali ne znam još uvek da jQuery to radi sam.
Hm? Jesi ga probao? Za sada mi radi dobro. Stavio sam sada u mom kodu u promenjivu i isto se ponaša. Ne vidim ni jednu grešku. Kroz praksu sam primetio da ponekad bolje pozvati neki ID direktno nego ga staviti u promenjivu.
Poigraj se slobodno.
|
|
|
|
Poslao: 12 Jul 2013 18:10
|
offline
- Pridružio: 25 Jan 2004
- Poruke: 2784
- Gde živiš: Niš
|
Nisam probao, verujem da kod radi.
Mislio sam na to da nije potrebno da selektor svaki put traži DOM elemenat tako što mora da protrči kroz celokupan html, već da ga samo jednom uperiš i vežeš za promenljivu. Za sada sam siguran da se razlika ne vidi, ali da je u pitanju hiljadu selektora ovako ponovljenih koji su deo nekih složenijih manipulacija DOM elemenata, sigurno bi se 'osetila' razlika
|
|
|
|
Poslao: 12 Jul 2013 19:48
|
offline
- FoxVanis
- Ugledni građanin
- Web Designer, PHP Developer; HTML, CSS, SQL, jQuery Programmer
- Pridružio: 13 Jun 2010
- Poruke: 307
- Gde živiš: Subotica
|
Default ::Nisam probao, verujem da kod radi.
Mislio sam na to da nije potrebno da selektor svaki put traži DOM elemenat tako što mora da protrči kroz celokupan html, već da ga samo jednom uperiš i vežeš za promenljivu. Za sada sam siguran da se razlika ne vidi, ali da je u pitanju hiljadu selektora ovako ponovljenih koji su deo nekih složenijih manipulacija DOM elemenata, sigurno bi se 'osetila' razlika
Aha razumem. To je istina. Osetila bi se veoma. Za velike skripte se mora raditi sa promenjivima.
Još sam malo nov u jQuery ali sam popriličn ovladao i prezadovoljan sam mogućnostima koje pruža.
|
|
|
|