Pagina 1 din 1

Verificare casuta input

Scris: Mar Sep 13, 2011
de keenbr
Salut marplo. Am nevoie de putin ajutor din partea ta, sau a celorlalti daca se pricep...
Am un formular...
Am nevoie de o functie onsubmit , care sa verifice in baza de date daca pentru input-ul title exista deja o intrare la fel si daca da, sa returneze o alerta prin care ma atentioneaza ca exista deja o intrare cu acelasi titlu...
Credeti ca ma puteti ajuta?

Verificare casuta input

Scris: Mar Sep 13, 2011
de MarPlo
Poti posta ce ai facut /lucrat la acel cod, unde nu te descurci sau ce erori / probleme apar.
Ca idee, trebuie o functie Ajax care la onsubmit sa trimita valoarea acelei casute input la un script php care face un select in tabelul mysql dupa acea valoare.
Daca interogarea select gaseste cel putin un rand, scriptul returneaza 1, altfel returneaza 0.
Functia Ajax verifica raspunsul de la scriptul php, daca are valoarea 1 afiseaza fereastra alert.

Verificare casuta input

Scris: Vin Sep 16, 2011
de keenbr
Am refacut o parte din cod... doar ca acum imi returneaza undefined ...

formular html

Cod: Selectaţi tot

<input type="text" name="title" id='title' value="" size="80" onblur="ajaxrequest(this,'verific')">
<span id='verific'></span>
fisier js

Cod: Selectaţi tot

function get_XmlHttp() {
  // Creaza variabila care va contine instanta la XMLHttpRequest, initial cu valoare nula
  var xmlHttp = null;

  if(window.XMLHttpRequest) {		// Daca browser-ul e Forefox, Opera, Safari, ...
    xmlHttp = new XMLHttpRequest();
  }
  else if(window.ActiveXObject) {	// Daca browser-ul este Internet Explorer
      xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
  }

  return xmlHttp;
}

// Functia care trimite datele la un fisier PHP si returneaza raspunsul
function ajaxrequest(formular, tagID) {
  var cerere_http =  get_XmlHttp();		// Apeleaza functia pt. crearea instantei la obiectul XMLHttpRequest

  // Creaza datele care trebuie trimise prin POST la scriptul PHP (perechi nume=valoare)
  var title = formular.title.value;
  var  datele = 'title='+title;

  cerere_http.open("POST", 'verific.php', true);			// Creaza cererea

  // Adauga un Header specific pentru ca datele sa fie recunoscute ca au fost trimise prin POST
  cerere_http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
  cerere_http.send(datele);		// Efectueaza trimiterea cererii, impreuna cu valorile care trebuie transmise

  // Verifica starea cererii
  // Daca raspunsul e primit complet, il transfera in eticheta HTML cu id-ul din "tagID"
  cerere_http.onreadystatechange = function() {
    if (cerere_http.readyState == 4) {
      document.getElementById(tagID).innerHTML = cerere_http.responseText;
    }
  }
}
si php...

Cod: Selectaţi tot

if (isset($_POST['title'])) {
    $title = $_POST['title'];
   print $title;

Verificare casuta input

Scris: Vin Sep 16, 2011
de MarPlo
In expresia onblur="ajaxrequest(this,'verific') , this reprezinta acel element /casuta. Deci, in functia ajaxrequest(formular, tagID) trebuie:
var title = formular.value;

Verificare casuta input

Scris: Mar Sep 20, 2011
de keenbr
Da... a mers.... multumesc mult :)