Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [advAJAX][php] Jak ponownie wysłać formularz
Forum PHP.pl > Forum > Przedszkole
puz219
Witam.

Już chyba z tydzień próbuję rozwiązac ten problem, ale nie mogę nic wykombinować, ani znaleźć w necie, więc proszę o waszą pomoc.

Więc mam stronkę z edycja rekordów rekordów w formie tabelki:

================================================
.....ID.......|.............Osoba.................|.........edycja......|....usu
ecie.......
================================================
.....01.......|.............Osoba 1..............|.........edytuj.......|.......usuń..........
================================================
.....02.......|.............Osoba 2..............|.........edytuj.......|.......usuń..........
================================================

coś w tym stylu:

i teraz jak klikam na edytuj przy którymś kontakcie, to w jego wierszu za pomocą ajaxa wczytuje mi się formularz edycji

================================================
.....ID.......|.............Osoba.................|.........edycja......|....usu
ecie.......
================================================
.....01.......|.............Osoba 1..............|.........edytuj.......|.......usuń..........
================================================

.....................TUTAJ WCZYTUJE SIĘ FORMULARZ EDYCJI..........................

================================================
.....02.......|.............Osoba 2..............|.........edytuj.......|.......usuń..........
================================================

Dobra, do tego momentu sobie poradziłem, działa jak należy, tyle, że w moim formularzu mam wyszukiwarkę opartą również na ajaxie.
I teraz tak, jeśli klikne na EDYTUJ np. przy osobie 1, formularz się wczyta i będę mógł normalnie kożystać z wyszukiwarki.
Ale jeśli teraz kliknę na EDYTUJ np. przy osobie 2, znów formularz się wczyta, ale nie mogę już kożystać z wyszukiwarki, wpiszę coś w pole wyszukiwania i klikam na przycisk wyszukaj i........ NIC, po prostu nic się nie dzieje.

Już jestem zdesperowany, normalnie coś mnie trafi sad.gif
Proszę o pomoc, jak rozwiązać ten problem.

Pozdrawiam
lord_t
Pokaż kod; ten ze strony z tabelką jak i ten z formularzem.
puz219
Dobra, to będzie dłuuuuugi post:

No to tak, na początek, to jest plik odpowiedzialny za wyświetlenie wszystkich osób:
  1. <html>
  2. <head>
  3. <meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
  4. <title>Obsada</title>
  5. <script type="text/javascript" src="../js/advajax.js"></script>
  6. <script type="text/javascript" src="../js/dynamics.js"></script>
  7. <script language="JavaScript">
  8. //here you place the ids of every element you want.
  9. var ids=new Array(<?php EditMainCast_VarDivElements($_id, $_co) ?>);
  10.  
  11. function switchid(id, sid){
  12. if(id == 'addNewCast') {
  13. hideallids();
  14. showdiv('addNewCast');
  15. getData('actors_main.php?id=' + sid + '&co=1', 'addNewCast')
  16. }
  17. else {
  18. var identyfikator = 'edit' + id;
  19. hideallids();
  20. showdiv(identyfikator);
  21. getData('actors_main.php?actid=' + id + '&co=1', identyfikator)
  22. }
  23. }
  24.  
  25. function hideallids(){
  26. //loop through the array and hide each element by id
  27. for (var i=0;i<ids.length;i++){
  28. hidediv(ids[i]);
  29. }
  30. }
  31.  
  32. function hidediv(id) {
  33. //safe function to hide an element with a specified id
  34. if (document.getElementById) { // DOM3 = IE5, NS6
  35. document.getElementById(id).style.display = 'none';
  36. }
  37. else {
  38. if (document.layers) { // Netscape 4
  39. document.id.display = 'none';
  40. }
  41. else { // IE 4
  42. document.all.id.style.display = 'none';
  43. }
  44. }
  45. }
  46.  
  47. function showdiv(id) {
  48. //safe function to show an element with a specified id
  49.  
  50. if (document.getElementById) { // DOM3 = IE5, NS6
  51. document.getElementById(id).style.display = 'block';
  52. }
  53. else {
  54. if (document.layers) { // Netscape 4
  55. document.id.display = 'block';
  56. }
  57. else { // IE 4
  58. document.all.id.style.display = 'block';
  59. }
  60. }
  61. }
  62. </script>
  63. </head>
  64. <body bgcolor="#EEEEEE" leftmargin="10" rightmargin="10" topmargin="0" bottommargin="0">
  65. <img src="../images/logo.png" border="0"><br>
  66. <style type="text/css">
  67. hr {
  68. background-color: #000000;
  69. height: 1px;
  70. color: #000000;
  71. border: 0px;
  72. width: 100%;
  73. }
  74. </style>
  75. <div class="hr"><hr /></div>
  76. <font style="color : #000000; font-size : 10px; font-family : Tahoma,Verdana,Arial;">
  77. &raquo; Obsada:
  78. </font>
  79. <br>
  80. <div class="hr"><hr /></div>
  81. <table align="center" width="100%" bgcolor="#FFFFFF" border="0" cellpadding="0" cellspacing="0">
  82. <tr>
  83. <td width="100%" bgcolor="#FFFFFF" valign="top" style="padding-left: 10px; padding-right: 10px;">
  84. <font style="color : #000000; font-size : 12px; font-family : Tahoma,Verdana,Arial;">
  85. <br><br>
  86. <div id="main_page">
  87. <?php echo EditMainCast($_id, $_co); ?>
  88. </div>
  89. <br><br>
  90. </font>
  91. </td>
  92. </tr>
  93. </table>
  94. <br>
  95. <a href="javascript:close()">Zamknij to okno</a>
  96. </body>
  97. </html>


Dobrze, teraz funkcja EditMainCast(), odpowiedzialna za wyświetlenie tabelki:
  1. <?php
  2. function EditMainCast($id, $co){
  3. lacz_bd();
  4. $zapytanie="SELECT * FROM stv_actors WHERE serialID='$id' AND role='$co'";
  5. $wynik=mysql_query($zapytanie);
  6. if(!$wynik){
  7. echo "Błąd. Połączenie nie powiodło się!";
  8. }
  9. $znalezionych=mysql_num_rows($wynik);
  10. if($znalezionych > 0) {
  11. echo "<table width=\"640\" height=\"60\" align=\"center\" cellpadding=\"0\" cellspacing=\"0\" border=\"0\" style=\"border: 2px dashed #CCCCCC\">
  12.  <tr><td width=\"640\" height=\"60\" align=\"center\" valign=\"middle\">
  13.  <a href=\"javascript:switchid('addNewCast', '".$id."')\"><img src=\"../images/add.png\" border=\"0\" style=\"margin-right: 10px; vertical-align: middle;\"><font color=\"#72d145\" size=\"4\"><b>Dodaj do obsady</b></font></a>
  14.  <div id=\"addNewCast\"></div>
  15.  </td></tr>
  16.  </table><br>";
  17. echo "<table width=\"640\" align=\"center\" cellpadding=\"0\" cellspacing=\"0\" border=\"1\" style=\"border-collapse: collapse; border:1px dotted #000000\">";
  18. echo "<tr>
  19. <td width=\"300\" bgcolor=\"#990000\"><center><font style=\"color : #FFFFFF; font-size : 12px; font-family : Tahoma,Verdana,Arial;\"><b>Aktor:</b>&nbsp;</font></center></td>
  20. <td width=\"40\" bgcolor=\"#990000\">&nbsp;</td>
  21. <td width=\"300\" bgcolor=\"#990000\"><center><font style=\"color : #FFFFFF; font-size : 12px; font-family : Tahoma,Verdana,Arial;\"><b>Postać grana w serialu:</b>&nbsp;</font></center></td>
  22. <td width=\"60\" bgcolor=\"#990000\"><center><font style=\"color : #FFFFFF; font-size : 12px; font-family : Tahoma,Verdana,Arial;\"><b>Edycja:</b>&nbsp;</font></center></td>
  23. <td width=\"60\" bgcolor=\"#990000\"><center><font style=\"color : #FFFFFF; font-size : 12px; font-family : Tahoma,Verdana,Arial;\"><b>Usunięcie:</b>&nbsp;</font></center></td>
  24. </tr>";
  25. for ($i=0; $i<$znalezionych; $i++){
  26. $wiersz=mysql_fetch_array($wynik);
  27. if($i % 2 == 0) { $_table_color="#f0f1f7"; } else { $_table_color="#FFFFFF"; }
  28. if(ShowCharacterName($wiersz["characterID"], "2") == NULL){ $_character=trim(zutf(ShowCharacterName($wiersz["characterID"], "1"))); } else { $_character="<a href=\"../?module=character&ch=".$wiersz["characterID"]."\"><font color=\"#000000\">".trim(zutf(ShowCharacterName($wiersz["characterID"], "1")))."</font></a>"; }
  29. echo "<tr>
  30. <td bgcolor=\"".$_table_color."\" align=\"right\" width=\"300\" style=\"padding-top: 3px; padding-bottom: 3px; padding-left: 10px; padding-right: 10px;\"><font style=\"color : #000000; font-size : 12px; font-family : Tahoma,Verdana,Arial;\">
  31. <a href=\"../?module=actor&osoba=".$wiersz["peopleID"]."\"><font color=\"#0000CC\">".trim(zutf(showPplName($wiersz["peopleID"])))."</font></a></font></td>
  32. <td bgcolor=\"".$_table_color."\" align=\"center\" width=\"40\" style=\"padding-top: 3px; padding-bottom: 3px; padding-left: 10px; padding-right: 10px;\"><font style=\"color : #000000; font-size : 12px; font-family : Tahoma,Verdana,Arial;\">
  33. ...</font></td>
  34. <td bgcolor=\"".$_table_color."\" align=\"left\" width=\"300\" style=\"padding-top: 3px; padding-bottom: 3px; padding-left: 10px; padding-right: 10px;\"><font style=\"color : #000000; font-size : 12px; font-family : Tahoma,Verdana,Arial;\">
  35. ".$_character."</font></td>
  36. <td bgcolor=\"".$_table_color."\" align=\"center\" width=\"60\" style=\"padding-top: 3px; padding-bottom: 3px; padding-left: 10px; padding-right: 10px;\"><font style=\"color : #000000; font-size : 12px; font-family : Tahoma,Verdana,Arial;\">
  37. <a href=\"javascript:switchid('".$wiersz["actorID"]."', '')\"><font color=\"#0000CC\"><b>[edytuj]</b></font></a></font></td>
  38. <td bgcolor=\"".$_table_color."\" align=\"center\" width=\"60\" style=\"padding-top: 3px; padding-bottom: 3px; padding-left: 10px; padding-right: 10px;\"><font style=\"color : #000000; font-size : 12px; font-family : Tahoma,Verdana,Arial;\">
  39. <a href=\"?action=1&sid=".$id."&actid=".$wiersz["actorID"]."\" onclick=\"return confirm('Czy na pewno chcesz usunąć wybraną pozycję?');\"><font color=\"#990000\">[usuń]</font></a></font></td>
  40. </tr>
  41. <tr>
  42. <td width=\"640\" colspan=\"5\" bgcolor=\"".$_table_color."\"><div id=\"edit".$wiersz["actorID"]."\" style=\"display:none;\"></div></td>
  43. </tr>";
  44. }
  45. echo "</table>";
  46. }
  47. }
  48. ?>


Powyżej jest kod formularza

A oto kod formularza:
  1. <html>
  2. <head></head>
  3. <body bgcolor="#EEEEEE" leftmargin="10" rightmargin="10" topmargin="0" bottommargin="0" onload="send_form('search_form', 'search_results')">
  4. <table align="center" width="100%" height="300" bgcolor="#FFFFFF" border="0" cellpadding="0" cellspacing="0">
  5. <tr>
  6. <td width="100%" height="50" colspan="2" bgcolor="#FFFFFF" align="center">
  7. <font style="color : #000000; font-size : 12px; font-family : Tahoma,Verdana,Arial;">
  8. <form id="search_form" method="POST" action="actors_search.php">
  9. <input type="hidden" name="sid" id="serialID" value="<?php if($_id != NULL) { echo SendSerialID($_id); } else { echo $_GET["id"]; } ?>" />
  10. <input type="text" name="q" id="search_form" size="50" onchange="send_form('search_form', 'search_results')" />
  11. <select name="what" id="what">
  12. <option value="1">w aktorach</option>
  13. <option value="2">w postaciach tego serialu</option>
  14. <option value="3">w postaciach wszystkich seriali</option>
  15. </select>&nbsp;<input type="button" value="Wyszukaj" onclick="send_form('search_form', 'search_results')">
  16. </form>
  17. </font>
  18. </td>
  19. </tr>
  20. <tr>
  21. <td width="50%" bgcolor="#FFFFFF" valign="top" style="padding-left: 10px; padding-right: 10px;">
  22. <font style="color : #000000; font-size : 12px; font-family : Tahoma,Verdana,Arial;">
  23. <div id="search_results">
  24. </div>
  25. </font>
  26. </td>
  27. <td width="50%" bgcolor="#FFFFFF" valign="top" style="padding-left: 10px; padding-right: 10px;">
  28. <font style="color : #000000; font-size : 12px; font-family : Tahoma,Verdana,Arial;">
  29. <?php
  30. if($_id != NULL) { $_adres_do_wyslania_formularza = "actors_main.php?a=1&actid=".$_id."&id=".SendSerialID($_id); }
  31. else { $_adres_do_wyslania_formularza = "actors_main.php?a=2&id=".$_GET["id"]; }
  32. ?>
  33. <form name="makers" method="POST" action="<? echo $_adres_do_wyslania_formularza; ?>">
  34. <fieldset>
  35. <legend>Aktor:</legend>
  36. <font style="color : #000000; font-size : 12px; font-family : Tahoma,Verdana,Arial;">
  37. <div id="edit_form">
  38. <?php if($_id != NULL) { echo showActor_EditForm($_id, "1"); } ?>
  39. </div>
  40. </font>
  41. </fieldset>
  42. <br>
  43. <fieldset>
  44. <legend>Postać grana w serialu:</legend>
  45. <font style="color : #000000; font-size : 12px; font-family : Tahoma,Verdana,Arial;">
  46. <div id="edit_form_character">
  47. <?php if($_id != NULL) { echo showActor_EditForm($_id, "3"); } ?>
  48. </div>
  49. </font>
  50. </fieldset>
  51. <br>
  52. <input type="submit" name="submit" value="Zatwierdź zmiany">&nbsp;&nbsp;
  53. <?php if($_id != NULL) { echo showActor_EditForm($_id, "2"); } ?>
  54. </form>
  55. </font>
  56. </td>
  57. </tr>
  58. </table>
  59. </body>
  60. </html>


Mam nadzieję, że coś z tego wyczytasz......

Pozdrawiam.
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.