Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [ajax] tab content
Forum PHP.pl > Forum > XML, AJAX > AJAX
Bajki
Witam
Mam problem ze skryptem...dynamicznego ładowania zawartości diva ? tak to nazwe winksmiley.jpg

Przy tworzeniu strony używam systemu smarty dlatego aby wyświetlić strone musze użyć $tpl->display('ajax_contact.tpl')

do zmiany diva używam tego skryptu :
http://www.ajaxlessons.com/2006/02/18/ajax...tabbed-content/

mój plik php wygląda tak :
  1. <?php
  2. require 'libs/Smarty.class.php';
  3. require 'includes/functions_user.php';
  4.  
  5. $tpl = new Smarty;
  6.  
  7. $tpl->compile_check = true;
  8. $tpl->debugging = false;
  9.  
  10. function stringForJavascript($in_string) {
  11.  $str = ereg_replace("[r\n]", \n\n", $in_string);
  12.  $str = ereg_replace('"', '\"', $str);
  13.  Return $str;
  14. }
  15. switch($_GET['id']) {
  16. case 'tab1':
  17.  # formularz do kontaktu przez email
  18. $tpl->display("user_contact.tpl");
  19. break;
  20. case 'tab2':
  21. $content = 'Formularz do kontaktu przez gg.';
  22. break;
  23. default:
  24. $content = 'There was an error.';
  25. break;
  26.  
  27. } 
  28. print stringForJavascript($content);
  29. usleep(400000);
  30. ?>


a plik user_contact.tpl :
  1. {$smarty.get.a}
  2. <form method="post" action="" name="contact" class="contact">
  3. {if isset($alert_3)}
  4. <p>
  5. <ul style="background: {if isset($alert_5)}#035101{else}#cc0000{/if}; padding: 5px 5px 3px 5px; margin-bottom: 10px; color: #fdf9ee">
  6. {if isset($alert_1)}<li>Kod z obrazka nie zgadza się.</li>{/if}
  7. {if isset($alert_2)}<li>Nie wypełniono któregoś z pól.</li>{/if}
  8. {if isset($alert_4)}<li>Email jest nie poprawny.</li>{/if}
  9. {if isset($alert_5)}<li>Wiadomość została wysłana.</li>{/if}
  10. {if isset($alert_6)}<li>Wystąpił nieokreślony błąd. Zgłoś to proszę na ...</li>{/if}
  11. </ul>
  12. </p>
  13. {/if}
  14.  
  15. {if !isset($smarty.session.user_email)}<label>email</label><input name="user_email" id="contactname" type="text" value="{$smarty.post.user_email}" onfocus="form_onfocus(this.id);" onblur="form_onblur(this.id);" />{/if}
  16. <div style="clear: both;"></div>
  17. <label>temat</label><input name="mail_topic" id="phno" type="text" value="{$smarty.post.mail_topic}" onfocus="form_onfocus(this.id);" onblur="form_onblur(this.id);" />
  18. <div style="clear: both;"></div>
  19. <label>wiadomość</label><textarea name="mail_message" cols="20" rows="30" id="comments" onfocus="form_onfocus(this.id);" onblur="form_onblur(this.id);">{$smarty.post.mail_message}</textarea>
  20. <div style="clear: both;"></div>
  21. <label><img src="includes/CaptchaSecurityImages.php?width=83&height=23" alt="Przepisz kod z obrazka"/></label> <input type="text" name="security_code" id="security_code" onfocus="form_onfocus(this.id);" onblur="form_onblur(this.id);" />
  22. <div style="clear: both;"></div>
  23. <br class="spacer" />
  24. <input name="submit" class="submit" id="submit" value="wyślij" title="Wyślij" type="submit">
  25. <input name="reset" class="reset" id="reset" value="reset" title="Od nowa" type="reset">
  26. </form>


problem w tym, że skrypt nie chce załadować mi zawartości pliku user_contact.tpl ale tylko w IE, w firefoxie wszystko działa jak należy.
mało tego, w lewym dolnym rogu IE nie pokazuje błędów. Też wg. firebuga wszystko jest ok.

Macie może jakieś pomysły jak sobie z tym poradzić ? smile.gif z góry dziękuje za pomoc
HaRy
a dlaczego karzesz iść mu spać na 40 sekund?

  1. <?php
  2. usleep(400000);
  3. ?>


i po co stosujesz zapisy typu:

  1. <input onfocus="form_onfocus(this.id);" onblur="form_onblur(this.id); />


nie do końca łapie celowość takich operacji - szczególnie pierwszej, która przy większym ruchu może ubić Ci serwer ilością otwartych wątków.
generalnie celem programisty jest by wątek jak najszybciej się kończył i przestał zajmować cenne zasoby - a Ty widzę masz trochę inną filozofię winksmiley.jpg

a co do problemu. czy poprawnie wywołujesz? czy zwracany kod HTML jest poprawny?
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.