archux Posted March 27, 2008 Report Share Posted March 27, 2008 (edited) Sveiki. Gribēju uzzināt kā varētu norādīt kļūdu ar uzlecošo alert (jauns logs ar paziņojumu), un ja rindā ir ierakstīts tad pārbaudīt vai tas e-mail vispār ir derīgs vai nē? Apskatījos, forumā satura biežāk uzdotajos jautājumos, bet tur neko nesapratu. Vai kāds varētu parādīt kādu īsu piemēru, kā notiekās alert izsaukšana (no javas puses aptuveni zinu kā) no php puses, piemēram: if ($vards == "" ) $error .= "Kļūda, aizpildi visas rindas\n"; šitā es zinu, bet man vajag piemēram šādi: if (($vards == "") && ($uzvards == "")) { $jur.vards = stripinput($_POST['jur.vards']); $jur.uzvards = stripinput($_POST['jur.uzvards']); } Un šitā rezultātā vēl vajag iebāzt tā, lai met error ja jur.vards vai jur.uzvards ir tukši! Iespējams, ka ātri rakstot sanāca par primitīvu :D Formu var pārbaudīt vai visas ailes aizpildītas šādi bet tas man neder: aiz formas <script language='JavaScript'> function ValidateForm(frm) { alert(\"Kļūda, aizpildi visas rindas\"); return false; } </script> Ceru ka sapratāt ideju, iepriekš paldies! :) Edited March 27, 2008 by archux Link to comment Share on other sites More sharing options...
Zandis Murāns Posted March 27, 2008 Report Share Posted March 27, 2008 Pamēģini šitā: <html> <head> <?=(isset($_POST['vards']) && strlen($_POST['vards'])<15?'<script language="javascript"> alert("Tavs vārds nedrīkst būt īsāks par piecpadsmit simboliem!"); </script> ':'')?></body> <body> <form action="test.php" method="post"/> <input type="text" name="vards"/> <input type="submit" value="Pieteikties sistēmā!"/> </form> </body> </html> Link to comment Share on other sites More sharing options...
none Posted March 27, 2008 Report Share Posted March 27, 2008 A kāpēc tev neder šitais variants - <script language='JavaScript'> function ValidateForm(frm) { alert(\"Kļūda, aizpildi visas rindas\"); return false; } </script> Nekad nenāk par sliktu pārbaudīt datus pirms postošanas, protams tie vēlreiz jāpārbauda arī servera pusē. Tikai tas tavs js kods neko nepārbauda, bet cik saprotu tas ir tikai kā uzskata līdzeklis. A kāpēc tu tik dikti gribi to alert palaist? Man personīgi tie kaitina. Labāk vienkārši ar sarkanu izdzen kļūdu attiecīgajā vietā. Link to comment Share on other sites More sharing options...
archux Posted March 28, 2008 Author Report Share Posted March 28, 2008 a kā uzlikt lai ar sarkanu izdzen taja vieta kljudu ??? Link to comment Share on other sites More sharing options...
Aleksejs Posted March 28, 2008 Report Share Posted March 28, 2008 javascriptā: <script> function check_email(x); el = document.getElementById(x); parbaude = /^[^@]+@[^@]+.[a-z]{2,}$/i; if(el.value.search(parbaude)==-1){ el.style.backgroundColor='red'; } } <script> <input name='epasts' id='epasts' onblur='check_email("epasts");'> Link to comment Share on other sites More sharing options...
archux Posted March 28, 2008 Author Report Share Posted March 28, 2008 man pārādīja: Fatal error: Call to undefined function: check_email() in... Esmu pārsteigts kas nav pa ķeksi ? :o Link to comment Share on other sites More sharing options...
mixis Posted March 28, 2008 Report Share Posted March 28, 2008 Neesi pareizi funkciju nodefinējis. Paskaties vai esi pareizā vietā ievietojis. Tas kļūdu paziņojums kaut kā pēc PHP kļūdu paziņojumuma izskatās. Link to comment Share on other sites More sharing options...
archux Posted March 28, 2008 Author Report Share Posted March 28, 2008 (edited) vis skartībā tiku galā strādā, bet kā uzlikt tā lai nevar iepostot, ja nepareizi norādīts ? P.S. Kā arī nebiju pamanījis scripta beigās <script> bet vajag </script> tur arī bija pirmā kļūda! Kā arī paskaidrojiet lūdzu sīkāk šo: /^[^@]+@[^@]+.[a-z]{2,}$/i; Edited March 28, 2008 by archux Link to comment Share on other sites More sharing options...
Aleksejs Posted March 28, 2008 Report Share Posted March 28, 2008 Jā, ar to <script> ātrumā rakstot nokļūdījos. /^[^@]+@[^@]+.[a-z]{2,}$/i; / un / regulārās izteiksmes sākuma un beigu apzīmētājs. i beigās nozīmē neņemt vērā burtu reģistru. /^[^@]+@[^@]+.[a-z]{2,}$/i; ^ apzīmē rindas sākumu $ apzīmē rindas beigas /^[^@]+@[^@]+.[a-z]{2,}$/i; [ apzīmē simbolu saraksta sākumu ] apzīmē simbolu saraksta beigas + apzīmē to, ka ir jābūt vismaz vienam šajā sarakstā uzskaitītajam simbolam, ^@ nozīmē, ka simbolu saraksts sastāv no jebkādiem simboliem izņemot @, respektīvi ^ nozīmē negāciju /^[^@]+@[^@]+.[a-z]{2,}$/i; nozīmē, ka seko simbols @ aiz kura seko viens vai vairāki simboli, kas nav @ /^[^@]+@[^@]+.[a-z]{2,}$/i; nozīmē simbolu . (kaut gan šķiet, ka te ir kļūda, jo . nozīmē jebkuru simbolu, tādēļ tam būtu jābūt eskeipotam \. ) pēc kura seko vismaz divi latīņu alfabēta burti. Kaut kā tā. Link to comment Share on other sites More sharing options...
archux Posted March 28, 2008 Author Report Share Posted March 28, 2008 (edited) Paldies, aptuveni sapratu! Kā notiek tā eskeipotam \. ) pēc kura seko vismaz divi latīņu alfabēta burti. īsti nesapratu! :) Un kā varētu pārbaudīt adresi lai tajā varētu būt latviešu burti (āčžļķņūīē) gan varētu but cipars gan burts, respektīvi, lai bļaustās, ka tukša aile tā pat kā pārējām adresēm(manuprāt kā tukšu būs vieglā uztaisīt lai nobļaustās). Kā arī gribēju zināt kā var uzlikt lai onclick pārbauda šo: <script> function check_email(x); el = document.getElementById(x); parbaude = /^[^@]+@[^@]+.[a-z]{2,}$/i; if(el.value.search(parbaude)==-1){ el.style.backgroundColor='red'; } } </script> <input name='epasts' id='epasts' onblur='check_email("epasts");'> Edited March 28, 2008 by archux Link to comment Share on other sites More sharing options...
Aleksejs Posted March 28, 2008 Report Share Posted March 28, 2008 .[a-z]{2,} nozīmē punktu aiz kura seko vismaz 2 latīņu alfabēta burti. Vienīgi, cik zinu, tad pats simbols . ir speciālais simbols, kas apzīmē "tieši vienu jebkuru simbolu", tādēl arī teicu, ka tas jāeskeipo - respektīvi pirms viņa jāpieliek \ rezultātā jāsanāk: \.[a-z]{2,} Link to comment Share on other sites More sharing options...
Aleksejs Posted March 28, 2008 Report Share Posted March 28, 2008 A vot latviešu burtus pats izdomā :D Link to comment Share on other sites More sharing options...
archux Posted March 28, 2008 Author Report Share Posted March 28, 2008 Post edited: Kā arī gribēju zināt kā var uzlikt lai onclick pārbauda šo: <script> function check_email(x); el = document.getElementById(x); parbaude = /^[^@]+@[^@]+.[a-z]{2,}$/i; if(el.value.search(parbaude)==-1){ el.style.backgroundColor='red'; } } </script> <input name='epasts' id='epasts' onblur='check_email("epasts");'> Link to comment Share on other sites More sharing options...
archux Posted March 28, 2008 Author Report Share Posted March 28, 2008 Sapratu kā uztaisīt lai onclick - vienkārši, bet kā lai uzliek ja ir error, tad tālāk nelaiž, aptuveni tā formu neapstirpina! Link to comment Share on other sites More sharing options...
archux Posted March 28, 2008 Author Report Share Posted March 28, 2008 hey, moš kāds palīdzēs ??? kā labāk adresei sataisīt pārbaudi ar javascrit ??? Link to comment Share on other sites More sharing options...
Recommended Posts