Malinaa
27.01.2011, 20:26:57
Mam pytanko,
jak sprawdzić w javascript czy pole zawiera imię i nazwisko.
tehaha
27.01.2011, 20:31:31
przypisujesz funkcje do zdarzenia onsubmit w formularzu, następnie w wewn±trz funkcji pobierasz warto¶ci z pól imię i nazwisko i sprawdzasz czy s± puste, jeżeli tak to wy¶wietlasz komunikat i zwracasz false
kamil4u
27.01.2011, 20:32:45
Za pomoc± wyrażeń regularnych. Polecam:
http://www.egrafik.pl/kurs-regex-wyrazenia-regularne/Spr. czy ci±g zawiera:
- wyraz([A-Za-z]+)
- spacja( )
- wyraz([A-Za-z]+)
Lub ew. bardziej dokładnie -> wyraz ([A-Z][a-z]+)
Gdzie nawiasy ( i ) nie należ± w tym przypadku do wyrażenia.
darko
27.01.2011, 20:35:34
Nie sprawdzisz czy podane dane to konkretne imię i nazwisko, ale za to można sprawdzić czy pole o okre¶lonym id ma wpisan± warto¶ć, najlepiej wrzucić kod sprawdzaj±cy do jakiej¶ funkcji i podczepić j± pod zdarzenie onsubmit formularza (ale tym zajmij się już sam/a):
<input type="text" id="imie" name="imie" />
...
<script>
if(document.getElementById('imie').value == '' || document.getElementById('imie').value='undefined')
alert('prosze podac imie');
</script>
kalmaceta
27.01.2011, 20:48:39
@kamil4u: wyrażenia regularne to za dużo jak na imię i nazwisko, poza tym podane przez Ciebie dozwolone znaki nie uwzględniaj± znaków narodowych (należy uwzględnić przynajmniej zakres _\x81-\xFF) przy utf-8,już nie mówi±c o dwuczłonowych ze spacj± czy też "-".
najlepsze jednak jest proste rozwi±zanie podane przez darko.
Malinaa
27.01.2011, 21:40:04
do tego co już jest wystarczy mi sprawdzenie
schematu typu: ciagznakow-spacja-ciagznakow
A jeżeli można sprwdzić czy pierwsza litera imienia i nazwiska jest duża to już bajka.
W formularzu jest tylko jedno pole uzytkownik, w które powinno być wpisane imię i nazwisko.
Jak to zrobić?
kamil4u
27.01.2011, 23:06:51
Podałem jak to zrobić, a ~kalmaceta napisał co w poprawić. Aczkolwiek po jego uwadze zrobiłbym to jeszcze inaczej, a mianowicie spr. czy te znaki to
nie liczby czy znaki specjalne i wtedy wszystko powinno być ok

@kalmaceta: jako¶ tak się spieszyłem i nie wpadłem na to, że mog± być też inne znaki. Dzięki za poprawkę.
Malinaa
28.01.2011, 22:10:01
Czy można gotowca?
$uzytkownik = "Terezia Fickova"; // Hello
Sprawdzenie spacji ok
if (preg_match("/[ ]/", $uzytkownik)) echo "OK";
ale jak imię i nazwisko, najlepiej z wielkiej litery
w php i javascript.
tehaha
28.01.2011, 22:14:58
no bez przesady, w Google pełno gotowców więc nie ma potrzeby, żeby kto¶ specjalnie dla Ciebie robił dedykowanego:
http://www.w3schools.com/js/js_form_validation.asp,
http://www.javascript-coder.com/html-form/...alidation.phtml
Malinaa
28.01.2011, 22:31:37
no dobra.
Sprawdzenie typu if (x==null || x=="") nie jest mi potrzebne,
formularz jest zbudowany inaczej, robię to z if (x.length > 1) i nie ma to formy alertu tylko info w divie,
po prostu nie bardzo wiem jak sprwdzić imię i nazwisko z wielkiej litery tym bardziej, że imie albo nazwisko może być z polskimi znakami np. ¦widator.
tehaha
28.01.2011, 22:48:46
a po co wymuszać wpisywanie z wielkiej litery? Lepiej zrób tak, żeby to php konwertowało pierwsze litery na wielkie:
http://php.net/manual/en/function.ucfirst.php
Malinaa
28.01.2011, 23:15:32
dobry pomysł,
ale to trochę jak budowanie formularza "szczególnie" odpornego.
zrezygnuję w ogóle z tego, wstwię w diva "Imię i nazwisko musi być oddzielone spacj± i powinno zaczynać się z wielkiej litery."
Może w ten sposób wszyscy użytkownicy będ± przedstawiać się po polsku, imię i nazwisko z wielkiej litery.
Dziękuje za informacje.
mieszkos
28.01.2011, 23:35:07
<script type="text/javascript">
window.onload = Laduj;
function Laduj(){
document.forms['dodawanie_posta'].onsubmit = Verify;
}
function Verify(){
var wyrazenie2 = new RegExp("^[A-Z-zó±¶łżĽćńÓˇ¦ŁŻ¬ĆŃ][a-z-zó±¶łżĽćńÓˇ¦ŁŻ¬ĆŃ]{2,20} [A-Z-zó±¶łżĽćńÓˇ¦ŁŻ¬ĆŃ][a-z-zó±¶łżĽćńÓˇ¦ŁŻ¬ĆŃ]{1,25}$");
var error = false;
if(wyrazenie2.test(im)==false) {
document.forms['dodawanie_posta'].im.style.border = "2px solid #FF0000";
alert('Podałe¶ błędne imię i nazwisko !');
error = true;
}
if(wyrazenie2.test(im)==true) {
document.forms['dodawanie_posta'].im.style.border = "2px solid green";
}
if (error) {
return false;
}
}
</script>
jutro studniówka, to dlatego
do tego form:
<form action="#" method="post" name="dodawanie_posta"> <input type="text" name="im" />
Malinaa
29.01.2011, 00:20:19
mieszkos:
nie skorzystam, w relacji z tehaha uznałem, że nie o to chodzi, ale thanks.
Powodzenia.
To jest wersja lo-fi głównej zawarto¶ci. Aby zobaczyć pełn± wersję z większ± zawarto¶ci±, obrazkami i formatowaniem proszę
kliknij tutaj.