Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Ajax w Ajaxie
Forum PHP.pl > Forum > XML, AJAX
lukasz108min
Witam mam na swojej stronie link który za pomocą ajaxa wpisuje dane do klasy i w tej klasie mam formularz dodawania do bazy danych i wszystko działa ok, dodaje się lecz pózniej klasa "się czyści" i nie wiem jak temu zapobiedz
kamil4u
Jeżeli zrozumiałem o co Ci chodzi to przy wysyłaniu formularza, przeładowuje Ci się strona i dlatego "tracisz" dane.

Rozwiązanie: Wyślij ten formularz AJAX-owo.
lukasz108min
  1. <form method="post" action="#">
  2. <input style="margin-left:12px;width:300px; height:20px;" type="text" id="komentarztresc" value="Dodaj komentarz..." onfocus="if(this.value=='' || this.value == 'Dodaj komentarz...') this.value=''" onblur="if(this.value == '') {this.value=this.defaultValue}"
  3. onkeydown="WyslijKomentarz(<?php echo $idposta; ?>);" onkeyup="keyUp();" name="komentarztresc"/>
  4. </form>


  1. eval(function(p,a,c,k,e,d){e=function(c){return c.toString(36)};if(!''.replace(/^/,String)){while(c--){d[c.toString(a)]=k[c]||c.toString(a)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('o e(a,5,4){7(5==8)5=c;7(4==8)4=\'*\';2 6=h k();2 3=5.l(4);2 b=" "+a+" ";n(i=0,j=0;i<3.d;i++){2 9=" "+3[i].f+" ";7(9.m(b)!=-1)6[j++]=3[i]}g 6}',25,25,'||var|tags|tagName|domNode|el|if|null|test|searchClass|tcl|document|length|getEl
    ementsByClass|className|return|new|||Array|getElementsByTagName|indexOf|for|funct
    ion'.split('|'),0,{}))
  2. function getXMLHttpRequest()
  3. {
  4. var request = false;
  5. try {
  6. request = new XMLHttpRequest();
  7. } catch(err1) {
  8. try {
  9. request = new ActiveXObject('Msxml2.XMLHTTP');
  10. } catch(err2) {
  11. try {
  12. request = new ActiveXObject('Microsoft.XMLHTTP');
  13. } catch(err3) {
  14. request = false;
  15. }
  16. }
  17. }
  18. return request;
  19. }
  20. var kom,klasa,l;
  21. kom = getXMLHttpRequest();
  22. function processResponse()
  23. {
  24. if (kom.readyState == 4) {
  25. if (kom.status == 200) {
  26. getElementsByClass(klasa)[l].innerHTML = kom.responseText;
  27. }
  28. }
  29. }
  30. function WyslijKomentarz(idpostu) {
  31. if ((event.which && event.which == 13) ||
  32. (event.keyCode && event.keyCode == 13)) {
  33. var tresc = document.getElementById('komentarztresc').value;
  34. var Dane = 'mod/kom.php?postid='+idpostu+'&tresc='+tresc;
  35. kom.open('GET',Dane, true);
  36. klasa = 'komentarzelista';
  37. l = 0;
  38. kom.onreadystatechange = processResponse;
  39. kom.send(null);
  40. } }



Wysyłam to tak, jak moge to inaczej wysłać ?
kamil4u
Masz syf w kodzie. Nie będę czegoś takiego analizował.

Strzelam:
Przy <form> dopisz atrybut onsubmit="return false;"
lukasz108min
Wielkie dzięki, zadziałało ! smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.