Formular + AJAX

Discutii legate de AJAX, jQuery, MooTools, Prototype, Dojo, Yahoo! UI Library,script.aculo.us, ExtJS,AngularJS, Backbone.js, Ember.js, KnockoutJS

Moderator: Moderatori

ynfonet
Senior Member
Mesaje: 245
Membru din: Mie Dec 14, 2005 8:00 am

Formular + AJAX

Mesajde ynfonet » Sâm Aug 23, 2008 8:21 pm

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.



Avatar utilizator
kleampa
Senior Member
Mesaje: 2774
Membru din: Dum Iul 10, 2005 2:12 pm
Localitate: Bucuresti
Contact:

Mesajde kleampa » Sâm Aug 23, 2008 8:54 pm

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)

dechim
Senior Member
Mesaje: 1486
Membru din: Mar Mai 10, 2005 11:53 pm
Localitate: Drobeta Turnu Severin

Mesajde dechim » Sâm Aug 23, 2008 9:15 pm

Incearca asta, ai sa intelegi !
ajax_test.html

Cod: Selectaţi tot

<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: Selectaţi tot

<?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
?>

ynfonet
Senior Member
Mesaje: 245
Membru din: Mie Dec 14, 2005 8:00 am

Mesajde ynfonet » Dum Aug 24, 2008 4:02 pm

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: Selectaţi tot

      <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?


Înapoi la “Librarii Javascript”

Cine este conectat

Utilizatori ce ce navighează pe acest forum: Niciun utilizator înregistrat și 20 vizitatori