Pagina de start a forumului Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc
Comunitatea PHP Romania
 

Dynamic Form Update
Vezi mesajul original
Du-te la pagina 1, 2, 3  Următoare
 
       Pagina de start a forumului Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc -> AJAX
Subiectul anterior :: Subiectul următor  
Autor Mesaj
PET



Data înscrierii: 20/Aug/2003
Mesaje: 323
Locație: Timisoara

Trimis: Joi Mai 15, 2008 6:50 pm    Titlul subiectului: Dynamic Form Update  

Am o lista in care in niste input forms populez informatia luata din baza de date.

Vreau ca atunci cand sterg ceva dintr-un input si scriu altceva, automat sa se faca update in baza de date cu ajax. Am cautat ceva tutoriale dar fara succes.


---------------
| 48888888 |
--------------

Ala e un input si am luat din baza de date informatia. Daca eu sterg si scriu altceva, frau sa faca imediat update in baza de date.

Sugestii? :roll:

Mersi
Sus  
MihaiC



Data înscrierii: 14/Mai/2006
Mesaje: 1037
Locație: Navodari

Trimis: Joi Mai 15, 2008 7:00 pm    Titlul subiectului: Re: Dynamic Form Update  

PET a scris:
Sugestii?


Da, descurca-te !

http://www.w3schools.com/Ajax/Default.Asp
Sus  
PET



Data înscrierii: 20/Aug/2003
Mesaje: 323
Locație: Timisoara

Trimis: Joi Mai 15, 2008 7:58 pm    Titlul subiectului: Re: Dynamic Form Update  

MihaiC a scris: PET a scris:
Sugestii?


Da, descurca-te !

http://www.w3schools.com/Ajax/Default.Asp

WoW... foarte interesant postul. Dupa cum am zis. Am citit, am incercat si nu stiu cum sa fac.
Sus  
catalinxpro



Data înscrierii: 12/Iul/2006
Mesaje: 145

Trimis: Joi Mai 15, 2008 8:27 pm    Titlul subiectului:  

salut...ai incercat :
Cod: onchange="this.form.submit();"
Sus  
PET



Data înscrierii: 20/Aug/2003
Mesaje: 323
Locație: Timisoara

Trimis: Vin Mai 16, 2008 7:09 am    Titlul subiectului:  

catalinxpro a scris: salut...ai incercat :
Cod: onchange="this.form.submit();"

adica onchange, sa faca acea functie?

Problema e ca nu stiu cum sa scriu functia de update in AJAX/Javascript.
Sus  
mihaitha



Data înscrierii: 04/Mai/2007
Mesaje: 1801
Locație: Sibiu

Trimis: Vin Mai 16, 2008 10:02 am    Titlul subiectului:  

Si n-ai destule tutoriale pe net?
Sus  
Copyright



Data înscrierii: 17/Dec/2006
Mesaje: 860
Locație: Bucuresti

Trimis: Vin Mai 16, 2008 10:10 am    Titlul subiectului:  

PET a scris: ...am incercat...

Posteaza ce ai incercat sa vedem si noi.



Later.
Sus  
catalinxpro



Data înscrierii: 12/Iul/2006
Mesaje: 145

Trimis: Vin Mai 16, 2008 11:01 am    Titlul subiectului:  

incearca asta.....
Cod: <form method='post'>
<input type='text' onchange="this.form.submit();">
</form>
Sus  
MihaiC



Data înscrierii: 14/Mai/2006
Mesaje: 1037
Locație: Navodari

Trimis: Vin Mai 16, 2008 11:10 am    Titlul subiectului:  

catalinxpro a scris: incearca asta.....
Cod: <form method='post'>
<input type='text' onchange="this.form.submit();">
</form>

De fapt e:
Cod:
<form method='post'>
<input type='text' onkeyup="functie_AJAX_pe_care_o_face_PET_citind_pe_net();">
</form>
Sus  
catalinxpro



Data înscrierii: 12/Iul/2006
Mesaje: 145

Trimis: Vin Mai 16, 2008 11:12 am    Titlul subiectului:  

MihaiC a scris: catalinxpro a scris: incearca asta.....
Cod: <form method='post'>
<input type='text' onchange="this.form.submit();">
</form>

De fapt e:
Cod:
<form method='post'>
<input type='text' onkeyup="functie_AJAX_pe_care_o_face_PET_citind_pe_net();">
</form>

intai incearca codu ala asa cum l-am pus eu si pe urma postezi :lol:
Sus  
Copyright



Data înscrierii: 17/Dec/2006
Mesaje: 860
Locație: Bucuresti

Trimis: Vin Mai 16, 2008 11:34 am    Titlul subiectului:  

@catalin
el a spus cclar ca vrea sa faca salvarea datalor asincron.
PET a scris: Vreau ca atunci cand sterg ceva dintr-un input si scriu altceva, automat sa se faca update in baza de date cu ajax. catalinxpro a scris: <input type='text' onchange="this.form.submit();">


@Mihai
Daca folosesti onkeyup o sa omori serverul pentru ca fiecare apasare de tasta(aici intra si tab, backspace, enter...) o sa declanseze un request Ajax. Corect este sa folosesti onchange care functioneaza asemanator cu evenimentul onblur dar se declanseaza doar daca valoarea campului sa schimbat de la evenimentul onfocus.

http://www.w3schools.com/jsref/jsref_onkeyup.asp
http://www.w3schools.com/jsref/jsref_onchange.asp

Later.
Sus  
PET



Data înscrierii: 20/Aug/2003
Mesaje: 323
Locație: Timisoara

Trimis: Sâm Mai 17, 2008 7:04 am    Titlul subiectului:  

a zis bine Copyright.

M-am uitat pe onchange si e fix asa cum trebe. Eu scriu, selectez altceva (sau mai bine zis deselectez input-ul) si atunci sa se faca update-ul.

Inainte sa scriu functia, ma gandesc ca fiecare input trebuie sa aiba ca nume ID-ul lui, altfel o sa stie unde sa faca update la tabel. Nu?
Sus  
Copyright



Data înscrierii: 17/Dec/2006
Mesaje: 860
Locație: Bucuresti

Trimis: Dum Mai 18, 2008 9:15 am    Titlul subiectului:  

Sau poti sa scri id-ul direct ca parametru al functiei de update:

while(fetch resursa_mysql){
echo '<input type="text" onchange="update_field(',$row->id,', this.value);">';
}

PET a scris: Problema e ca nu stiu cum sa scriu functia de update in AJAX/Javascript.

arunca un ochi aici: http://daniel.lorch.cc/docs/ajax_simple/


Later.
Sus  
PET



Data înscrierii: 20/Aug/2003
Mesaje: 323
Locație: Timisoara

Trimis: Dum Mai 18, 2008 2:38 pm    Titlul subiectului:  

Copyright a scris: Sau poti sa scri id-ul direct ca parametru al functiei de update:

while(fetch resursa_mysql){
echo '<input type="text" onchange="update_field(',$row->id,', this.value);">';
}

PET a scris: Problema e ca nu stiu cum sa scriu functia de update in AJAX/Javascript.

arunca un ochi aici: http://daniel.lorch.cc/docs/ajax_simple/


Later.

Ideea e ca folosesc Smarty si nu mi-ar fi greu sa ii dau ca name {$card.id} sau ceva de genu. Acum ma uit pe linkul dat.

Ideea e ca is asa multe tutoriale, scripturi incat multe trebuie sa le adaptezi, si e destul de greu sa le adaptezi. Poate are ceva de care eu nu am nevoie si numa ma incurca, samd. Deasta prefer sa intreb ceva si sa aflu direct ceea ce vreau.
Sus  
PET



Data înscrierii: 20/Aug/2003
Mesaje: 323
Locație: Timisoara

Trimis: Lun Mai 19, 2008 10:12 pm    Titlul subiectului:  

Cod: <script type="text/javascript">
var http = false;

if(navigator.appName == "Microsoft Internet Explorer") {
  http = new ActiveXObject("Microsoft.XMLHTTP");
} else {
  http = new XMLHttpRequest();
}

function validate(user) {
  http.abort();
  http.open("GET", "validate.php?name=" + user, true);
  http.onreadystatechange=function() {
    if(http.readyState == 4) {
      document.getElementById('foo').innerHTML = http.responseText;
    }
  }
  http.send(null);
}
</script>

<h1>Please choose your username:</h1>

<form>
  <input type="text" onkeyup="validate(this.value)" />
  <div id="foo"></div>
</form>

Asta e codul de pe linkul postat de Copyright si as vrea daca vreti sa pargurgem codul sa inteleg si eu totul si cine mai citeste acest topic.

----------
var http = false;

Asta n-am idee ce face.

if(navigator.appName == "Microsoft Internet Explorer") {
http = new ActiveXObject("Microsoft.XMLHTTP");
} else {
http = new XMLHttpRequest();
}

Hmm... aici stiu ca e parte acu AJAX. IE-ul floseste acel ActiveX, etc...

function validate(user) {
http.abort();
http.open("GET", "validate.php?name=" + user, true);
http.onreadystatechange=function() {
if(http.readyState == 4) {
document.getElementById('foo').innerHTML = http.responseText;
}
}
http.send(null);
}

Aceasta este functia apelata atunci cand: onkeyup="validate(this.value)"

this.value inseamna ca ia informatia din acel input. Eu pot sa folosesc this.value ca sa iau noua informatie, si apoi o trimit catre comanda SQL.


http.open("GET", "validate.php?name=" + user, true);

Asta trimite catre fisierul validate.php?name=this.value

Corect?

Eu as putea sa fac ceva de genu:

http.open("GET", "validate.php?name=" + user +"&id=" + id, true);

Nu stiu daca am scris corect deoarece nu cunosc exact punctuatia javascript. Ideea e ca vreau sa fac linkul ceva de genu:

validate.php?act=ceva&name=2&id=241

2 este noua valoare care trebuie updatata in baza de date iar 241 este ID-ul intrarii din baza de date.

Acum mai trebuie ca atunci cand "onkeyup" se face sa apara un mesaj de verificare cu OK - CANCEL. Nu vreau sa modific ceva din greseala si apoi sa nu stiu ce intrare avea. Apoi vreau sa limitez intrarile doar la numere. Daca scriu "F3" sa nu updateze deoarece "F" se gaseste in input.

Apoi trebuie sa vad cum sa obtin acel ID in functie. As putea sa dau ca name al acelui INPUT ... ID-ul din baza de date. Dar cum obtin eu in javascript id-ul acelui input?

EDIT: In loc de onkeyup o sa folosesc onchange.

Deocamdata atat. Sugestii?


mersi
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  
 
       Pagina de start a forumului Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc -> AJAX Du-te la pagina 1, 2, 3  Următoare
Pagina 1 din 3


Powered by phpBB 2.0.22 © 2001, 2002 phpBB Group
Varianta în limba română: Romanian phpBB online community