 |
Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc Comunitatea PHP Romania
|
| Subiectul anterior :: Subiectul următor |
| Autor |
Mesaj |
ynfonet
Data înscrierii: 14/Dec/2005
Mesaje: 124
|
| Trimis: Sâm Aug 23, 2008 7:21 pm Titlul subiectului: Formular + AJAX |
|
|
Buna ziua.
Am un formular si vreau sa il fac cu validare dupa completarea fiecarui cimp.
Vreau ca mesajul de err. sa apara in dreptul fiecarui cimp completat, acolo unde este cazul.
Stie cineva cum se face?
Multumesc anticipat. |
|
| Sus |
|
kleampa
Data înscrierii: 10/Iul/2005
Mesaje: 2127
Locație: Bucuresti
|
| Trimis: Sâm Aug 23, 2008 7:54 pm Titlul subiectului: |
|
|
valorea unui input o poti afla cu
document.getElementById('id_input').value
faci if sa vezi daca exista ceva in acel input, iar daca nu exista poti scrie in timp real intr-un <span id="ceva"></span> pus chiar langa input cu urmatoarea linie:
document.getElementById('ceva').innerHTML = 'camp necompletat'
asta e varianta babeasca,pt incepatori, poti citit despre jquery,prototype sau mootools si metodele acestora de validare a form-urilor (mult mai simple bineinteles) |
|
| Sus |
|
dechim
Data înscrierii: 10/Mai/2005
Mesaje: 656
Locație: Drobeta Turnu Severin
|
| Trimis: Sâm Aug 23, 2008 8:15 pm Titlul subiectului: |
|
|
Incearca asta, ai sa intelegi !
ajax_test.html
Cod:
<html>
<head>
<script type="text/javascript">
function ajax(url, idElement)
{
var xmlHttp=null;
try
{
xmlHttp=new XMLHttpRequest();
}
catch (e)
{
try
{
xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e)
{
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}
}
if (xmlHttp==null)
{
alert ("Acest browser nu suporta HTTP Request");
return ;
}
xmlHttp.onreadystatechange = function()
{
if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
{
document.getElementById(idElement).innerHTML=xmlHttp.responseText;
}
}
xmlHttp.open("GET",url,true);
xmlHttp.send(null);
}
</script>
</head>
<body>
<form action="#" action="post">
<fieldset>
<legend>Formular</legend>
<br />Numele<br/>
<input type="text" name="nume" onblur="ajax('ajax_validare.php?nume='+this.value+'&var=nume','idnume');" />
<span id="idnume"></span><br />
<br />Prenumele<br />
<input type="text" name="pren" onblur="ajax('ajax_validare.php?pren='+this.value+'&var=pren','idpren');" />
<span id="idpren"></span><br />
<br />Adresa<br />
<input type="text" name="adr" onblur="ajax('ajax_validare.php?adr='+this.value+'&var=adr','idadr');" />
<span id="idadr"></span>
</fieldset>
<input type="submit" value="Trimite" />
</form>
</body>
</html>
ajax_validare.php
Cod:
<?php
if (!isset($_GET['var'])) die('Accesare incorecta !!!');
$var = htmlentities($_GET['var'], ENT_QUOTES);
$return = 'OK !' ;
switch ($var)
{
case 'nume':
if (strlen($_GET['nume'])<3) $return ="Nume incorect !";
break;
case 'pren':
if (strlen($_GET['pren'])<3) $return ="Prenume incorect !";
break;
case 'adr' :
if (strlen($_GET['adr'])<3) $return = "Adresa incorecta !";
break;
default :
$return = 'Eroare neprevazuta !';
}
echo $return
?>
|
|
| Sus |
|
ynfonet
Data înscrierii: 14/Dec/2005
Mesaje: 124
|
| Trimis: Dum Aug 24, 2008 3:02 pm Titlul subiectului: |
|
|
multumesc pt cod
merge
insa, atunci cind apare un mrg de err, in urma completarii gresite a unui cimp (ex: prenume), vreau ca cursorul sa ramina activ pe acel cimp gresit, si sa nu sara la urmatorul cimp de completat.
am tot incercat cu fct.:
Cod:
<script type="text/javascript" language="javascript">
function setFocus(){
document.getElementById('pren').focus();
}
</script>
dar nu a functionat.
sti pe unde ar trebui sa o pozitionez? |
|
| Sus |
|
PHPRomania Bot
Bot Member
Data înscrierii: 27/Dec/2007
Mesaje: 1
Locaţie: Server Google |
| Trimis: Mie Dec 26, 2007 7:01 pm Titlul subiectului: Ad |
|
|
|
|
|
| Sus |
|
| |
|