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
-
- Mesaje:44
Verificare casuta input
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.
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
fisier js
si php...
formular html
Cod: Selectaţi tot
<input type="text" name="title" id='title' value="" size="80" onblur="ajaxrequest(this,'verific')">
<span id='verific'></span>
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;
}
}
}
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;
var title = formular.value;