Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript][HTML]Zablokowanie odświeżenia strony po kliknięciu w link
Forum PHP.pl > Forum > Przedszkole
Jeżeli mam tak skonstruowa
Jeżeli mam tak skonstruowany link:

  1. <a href="strona.php" onclick="Validate()">Link</a>


to jak zrobić, żeby strona się od razu nie odświeżała po kliknięciu w ten link, tylko wtedy gdy w funkcji Validate() zostaną spełnione wszystkie warunki?
kamil4u
Funkcja JS:
Kod
funtion Validate(){
  if( .....)
    return true;
  else
    return false;
}


Zdarzenie: onclick="return Validate();"
b4rt3kk
Wywal adres strony:

  1. <a href="#" onclick="Validate()">Link</a>


A tu masz o blokowaniu domyślnej akcji:

http://www.openjs.com/articles/prevent_default_action/
Gość
Cytat(b4rt3kk @ 9.09.2012, 18:35:31 ) *
Wywal adres strony:
  1. <a href="#" onclick="Validate()">Link</a>


No ale jak wywalę adres strony to po spełnieniu warunku nie przekieruje użytkownika do tej strony.
Na razie zrobiłem to mniej wiecej tak:
  1. <a href="?url=strona&url2=delete" onclick="return ConfirmDelete();">Delete</a>
  2.  
  3. function ConfirmDelete()
  4. {
  5. var r = confirm("Are you sure you want to delete the object?");
  6.  
  7. if ( r == true)
  8. return true;
  9. else
  10. return false;
  11. }


No i to działa - gdy użytkownik potwierdzi usunięcie obiektu,
to przekierowuje go do odpowiedniej podstrony
dzięki ze zmiennymi w parametrze href="?url=strona&url2=delete".
A gdybym ten parametr pozostawił pusty (href="#") to nie byłoby przekierowania do odpowiedniej podstrony,
czemu więcej wywalić adres strony i zostawić samo href="#"?

peter13135
Jak ktoś wyłączy js, to nie zadziała walidacja, a link będzie działał jak normalny link.

Gdybyś dał do href'a sharpa, a w evencie który się wykonuje po kliknięciu na link dał :
Kod
window. location="Twój link"
, to wtedy przy wyłączonym js link nie przeniesie Cię do innej strony.

Taka jest róznica pomiędzy tymi rozwiązaniami, chyba raczej potrzebne jest Ci to pierwsze, bo walidację i tak musisz robić po stronie serwera.
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.