Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [jQuery] Ponowne pokazanie pola div
qverty
post 3.02.2011, 18:48:55
Post #1





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 3.02.2011

Ostrzeżenie: (0%)
-----


Na stronie mam pole div w którym znajduje się input i przycisk OK. Chodzi o to żeby po wpisaniu do pola input jakiejś nazwy powiedzmy aabb11 i kliknięciu przycisku OK skrypt załadował zawartość pliku "aabb11.html" do pola div. Skrypt zawiera też obsługę błędów w przydadku gdyby wpisana została nazwa pliku który nie istnieje. Zawartość div'a jest podmieniana na komunkiat błędu. Wszystko działa elegancko, tylko że chciałbym do komunikatu o błędzie dodać łącze które przywróci zawartość oryginalnego div'a (tego z polem input i przyciskiem). Zrobiłem to tak: <a href="index.php">Powrót</a> tyle że to rozwiązanie przeładowuje mi całą stronę. Chciałbym mieć możliwość podmiany tego div'a bez ponownego ładowania całej strony. Teraz pytanie bo męczę się już jakiś czas... czy takie coś jest w ogóle możliwe do zrealizowania ?

  1.  
  2. $(document).ready(function(){
  3.  
  4. $('#ok').click(function(){
  5.  
  6. var plik = $("#nazwapliku").val();
  7.  
  8. $.ajax({
  9. type: "GET",
  10. url: plik+".html",
  11. pobierz: function (XMLHttpRequest) {
  12. $("#formularz").html("Odczytywanie informacji...");
  13. },
  14. success: function(msg) {
  15. $("#formularz").html(msg);
  16. },
  17. error: function (XMLHttpRequest, textStatus, errorThrown) {
  18. $("#formularz").html('<div class=error>Błędna nazwa, lub plik nie istnieje.</div>');
  19. }
  20. });
  21. });
  22. });
  23. </script>
  24.  
  25. <div class="box">
  26. <div class="form1" id="formularz">
  27. Podaj nazwę pliku i kliknij przycisk OK<br />
  28. <br />
  29. <input type="text" size="15" id="nazwapliku">
  30. <input type="button" value="OK" id="ok">
  31. </div>
  32. </div>
Go to the top of the page
+Quote Post
osl
post 3.02.2011, 21:44:39
Post #2





Grupa: Zarejestrowani
Postów: 260
Pomógł: 41
Dołączył: 6.04.2009
Skąd: Gdańsk/okolice

Ostrzeżenie: (0%)
-----


zmień lekko koncepcje - zamiast nadpisywać wszystko w div#formularz, dodaj sobie drugiego div'a, np. #msgbox
Wrzucasz wszelkie informacje typu "odczytuje" itp. do #msgbox, a #formularz ukrywasz po prostu kiedy jest taka potrzeba.
A w linku który chcesz dodać po prostu zrób zdarzenie, które schowa #msgbox a pokaże #formularz

Przy odrobinie uporu da się zrobić tak jak zacząłeś powyżej, ale będzie to złożone i mało elastyczne rozwiązanie...

Pozdrawiam
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 01:55