Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [HTML][JavaScript]Problem z ukrytym DIV-em
Forum PHP.pl > Forum > Przedszkole
krzesik
Mam mały problem z DIV-em, proszę o pomoc.
Mam prosty skrypt w którym jest div z parametrem hidden na starcie. Po kliknięciu w diva user może dodać nową wpłatę całość wysyłana AJAX-em
Jak zrobić aby po wysłaniu div pozostał otwarty?


  1. <!--funkcje -->
  2. <script type="text/javascript">
  3. $(document).ready(function(){
  4. $("#zapiszfff").click(function(){
  5. var nazwa_funkcji = $("#nazwa_funkcji").val();
  6. var funkcja_od = $("#funkcja_od").val();
  7. var funkcja_do = $("#funkcja_do").val();
  8. var imie_nazwisko = $("#imie_nazwisko").val();
  9. var id_uzyt = $("#id_uzyt").val();
  10. var zapiszfunkcje = $("#zapiszfunkcje").val();
  11. // Returns successful data submission message when the entered information is stored in database.
  12. var dataString = 'nazwa_funkcji='+ nazwa_funkcji + '&funkcja_od='+ funkcja_od + '&funkcja_do='+ funkcja_do + '&imie_nazwisko=' + imie_nazwisko + '&zapiszfunkcje=' + zapiszfunkcje + '&id_uzyt=' + id_uzyt;
  13. if(nazwa_funkcji=='' || funkcja_od=='')
  14. {
  15. alert("Brak wypełnionych pól, proszę je uzupełnić.");
  16. }
  17. else
  18. {
  19. // AJAX Code To Submit Form.
  20. $.ajax({
  21. type: "POST",
  22. url: "ajax-savekwalifikacje.php",
  23. data: dataString,
  24. cache: false,
  25. success: function(result){
  26.  
  27. $("#tab_ajax").fadeOut('slow', function()
  28. {
  29. $("#tab_ajax").fadeOut('slow');
  30. window.location.href="<? echo $adres; ?>";
  31. });
  32.  
  33. }
  34. });
  35. }
  36. return false;
  37. });
  38. });
  39. </head>
  40. <?php
  41.  
  42. $adres = 'https://'.$_SERVER['HTTP_HOST'].$_SERVER['SCRIPT_NAME'].'?'.$_SERVER['QUERY_STRING'];
  43.  
  44. ?>
  45. <script type="text/javascript">
  46. function op1(obj) {
  47. x=document.getElementById(obj);
  48. $(x).slideToggle( "slow" );
  49. }
  50.  
  51. <div style="background-color: #009999; color: white; font-weight: bold; padding: 10px; cursor: pointer"
  52. onclick="op1('poka')">Wpłaty&nbsp; &nbsp; &nbsp; &nbsp;
  53. <img align="right" style="width: 16px; height: 16px" src="img/ikony/zoom.png" alt="Szczegóły" title="Szczegóły" /></input>
  54. </div>
  55.  
  56. <div style="display: none" id="poka">
  57. <div id="poka">
  58.  
  59. <div id="tab_ajax">
  60. .............
  61. </div>
  62. </div>
  63. </div>
  64.  
emstawicki
Ło matko!
Odnośnie pytania: Za to odpowiada właśnie success podczas realizacji AJAX. To właśnie tam poda
Nie rozumiem co tam dokładnie chcesz zrobić używaną funkcją właśnie w tym miejscu
Bardzo złą praktyką jest najpierw używanie zmiennej a potem jej definiowanie - nawet karygodną smile.gif
Jeżeli wszystkie pola z formularza (którego nie udostępniłeś) są wysyłane po prostu zserializuj je i przekaż do danych ajaxa.


krzesik
Oczywiście masz rację. Zmienną deklaruję wcześniej, dopisałem ją aby było wiadomo co oznacza $adres.
Ja po prostu nie wiem jak zrobić aby w success wywołać function op1(obj).
Próbowałem tak, ale nie działa:

  1. ........
  2. success: function(result){
  3.  
  4. $("#tab_ajax").fadeOut('slow', function()
  5. {
  6. $("#tab_ajax").fadeOut('slow');
  7. window.location.href="<? echo $adres; ?>";
  8. });
  9.  
  10. function op1(obj) ;
  11.  
  12. }
viking
Tak jak każdą funkcję w JS np: op1($('#test));
krzesik
OK, zrobiłem tak, ale dalej lipa:

  1. $adres = 'https://'.$_SERVER['HTTP_HOST'].$_SERVER['SCRIPT_NAME'].'?'.$_SERVER['QUERY_STRING'];
  2.  
  3. ?>
  4. <script type="text/javascript">
  5. function op1(obj) {
  6. x=document.getElementById(obj);
  7. $(x).slideToggle( "slow" );
  8. }
  9.  
  10.  
  11. <script type="text/javascript">
  12. $(document).ready(function(){
  13. $("#zapiszfff").click(function(){
  14. var nazwa_funkcji = $("#nazwa_funkcji").val();
  15. var funkcja_od = $("#funkcja_od").val();
  16. var funkcja_do = $("#funkcja_do").val();
  17. var imie_nazwisko = $("#imie_nazwisko").val();
  18. var id_uzyt = $("#id_uzyt").val();
  19. var zapiszfunkcje = $("#zapiszfunkcje").val();
  20. // Returns successful data submission message when the entered information is stored in database.
  21. var dataString = 'nazwa_funkcji='+ nazwa_funkcji + '&funkcja_od='+ funkcja_od + '&funkcja_do='+ funkcja_do + '&imie_nazwisko=' + imie_nazwisko + '&zapiszfunkcje=' + zapiszfunkcje + '&id_uzyt=' + id_uzyt;
  22. if(nazwa_funkcji=='' || funkcja_od=='')
  23. {
  24. alert("Brak wypełnionych pól, proszę je uzupełnić.");
  25. }
  26. else
  27. {
  28. // AJAX Code To Submit Form.
  29. $.ajax({
  30. type: "POST",
  31. url: "ajax-savekwalifikacje.php",
  32. data: dataString,
  33. cache: false,
  34. success: function(result){
  35.  
  36. $("#tab_ajax").fadeOut('slow', function()
  37. {
  38. $("#tab_ajax").fadeOut('slow');
  39. window.location.href="<? echo $adres; ?>";
  40. });
  41. op1($("#otworz"));
  42. }
  43. });
  44. }
  45. return false;
  46. });
  47. });
  48.  
  49.  
  50. <div[b] id="otworz"[/b] style="background-color: #009999; color: white; font-weight: bold; padding: 10px; cursor: pointer"
  51. onclick="op1('poka')">Wpłaty&nbsp; &nbsp; &nbsp; &nbsp;
  52. <img align="right" style="width: 16px; height: 16px" src="img/ikony/zoom.png" alt="Szczegóły" title="Szczegóły" /></input>
  53. </div>
  54.  
  55. <div style="display: none" id="poka">
  56. <div id="poka">
  57.  
  58. .........
  59. </div>
  60. </div>
  61.  
  62.  


Jeszcze raz: chodzi mi o to że jak dojdzie do poprawnego zapisu (czyli success) div powinien zostać otwarty, a nie zamknięty
viking
No ale wcześniej robisz przekierowanie przez window.location.href więc jak to ma działać?
emstawicki
Cytat(viking @ 23.09.2016, 10:39:27 ) *
No ale wcześniej robisz przekierowanie przez window.location.href więc jak to ma działać?


Właśnie na to zwracałem uwagę w pierwszym poście. Kod strasznie chaotyczny i nielogiczny. Najpierw sam musisz zdecydować się jak to ma w końcu działać 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.