Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript]Ajax a return false;
Forum PHP.pl > Forum > Przedszkole
Randallmaster
Posiadam ajaxa, mniej wiecej coś takiego jak u dołu. Ajax działa ok ale mam problem z czymś innym.

Po kliknięciu w submit w ogóle nie sprawdza mi ajaxa....
Po dodaniu za ajaxem return false; dopiero mi ajax sprawdza ale jeśli jest poprawny nie zakańcza go ponieważ go blokuje return false;

Jak temu zaradzić?

  1. $(document).ready(function(){
  2. $("form#name").submit(function() {
  3. $.ajax({
  4. type: "POST", data: "name=" + name, url: "../ins/name.php",
  5. success: function(value){
  6. if (value != "" && name.val() > value){
  7. name.addClass("error_button");
  8. return false; // gdy nie dodam za ajaxem return false; to miejsce w ogóle nie działa ;/
  9. }
  10. }
  11. });
  12. // tutaj później dodaje return false; i wczytuje ajax ale już formularz się nie wykonuje..
  13. });
  14. });
  15.  
Daimos
Masz błędy w kodzie, dlatego masz problemy, korzystaj z jakiś aplikacji które Cię o tym powiadomią (np. firebug)
W kodzie widać operujesz na zmiennej "name"
Nie wiem co w niej trzymasz, ale w jednym miejscu:
Kod
    type: "POST", data: "name=" + name, url: "../ins/name.php",

Widać wyraźnie, że wykorzystujesz tą zmienną jako string, a w drugim
Cytat
if (value != "" && name.val() > value){
name.addClass("error_button");

wykorzystujesz tą zmienną jako obiekt, więc czym jest ta zmienna? Obiektem jquery (jak się domyślam), czy stringiem?
Randallmaster
Zapomniałem dodać "name" sam pozmieniałem smile.gif zmienne są dobrze dobrane...

  1. $.ajax({
  2. type: "POST", data: "name1=" + name1, url: "../ins/name_sprawdzenie.php",
  3. success: function(value){
  4. if (name_wartosc.val() < value){
  5. return false;
  6. }
  7. }
  8. });
nospor
Słowo klucz ASYNCHRONICZNIE - poczytaj w google
AJAX wykonuje się asynchronicznie.
Randallmaster
wyłączyłem asynchroniczność: async : false,


  1. $.ajax({
  2. type: "POST", data: "name1=" + name1, async : false, url: "../ins/name_sprawdzenie.php",
  3. success: function(value){
  4. wartosc = true;
  5. if (name_wartosc.val() < value){
  6. wartosc = false;
  7. }
  8. }
  9. });
  10.  
  11. return wartosc;


Zrobiłem tak i działa, czy dobrze to zastosowałem ?
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.