Verificare casuta input

Discutii despre script-uri si coduri PHP-MySQL, precum si lucru cu XML in PHP.
keenbr
Mesaje:44

Verificare casuta input

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?

MarPlo Mesaje:4343
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.

keenbr Mesaje:44
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;

MarPlo Mesaje:4343
In expresia onblur="ajaxrequest(this,'verific') , this reprezinta acel element /casuta. Deci, in functia ajaxrequest(formular, tagID) trebuie:
var title = formular.value;

keenbr Mesaje:44
Da... a mers.... multumesc mult :)