Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
[jquery],[html] submit formy nie działa
#1
Witam wszystkich na forum,
Mam następujący problem. W formularzu znajduje się przycisk do kasowania elementów (drag&drop). Jest to realizowane za pomocą jquery - akcja click() + zwykły button z obrazkiem 'x', w skrypcie usuwającym korzystam z funkcji remove(), usuwającej element ze strony html. Oprócz tego jest submit - 'zapisz' (też podejmowany za pomocą jquery), który działa tylko wtedy gdy nie usunę żadnego elementu za pomocą 'x'. Gdy wywalę cokolwiek, 'zapisz' w ogóle przestaje reagować na akcje użytkownika - tak jakby nie była do niego podpięta żadna akcja.
Nie rozumiem dlaczego tak się dzieje.
Nie mogę umieścić strony online.
Pozdrawiam,
Piotr
Odpowiedz
#2
(19-05-2013, 21:57)kornell napisał(a): No to stwórz zmienną , powiedzmy, clicked
Kod:
var clicked=false;
i gdy user usunie jakiś element to wywołaj funkcję, która zmieni wartość "clicked" na true
Kod:
$(".button-0który-wyglada-jak-zwykły-X").click(function(){
    // tutaj ten kod który usuwa element html za pomocą .remove()
    clicked=true;
});
a póxniej, gdy formularz jest wysyłany (czyli gdy user naciśnie button submit)
Kod:
$("#id-formularza > :input[type=submit]").click(function(e){
  e.preventDefault(); // nie wysyła danych formularza
   if( !clicked ) {
      // nic nie jest usunięte, wysyłamy formularz
      $(this).parent().submit();
     }
   else {
    // tutaj jednak okazało się, ze coś zostało usunięte, więc
   // ... wypisujesz błąd, rogbisz alert(cośtam)...
   // ... czy cokolwiek chcesz :)
   }
});

Dzięki za odpowiedź. Sprawdzę to jutro bo teraz nie mam takiej możliwości - pracaSmile. Obawiam się tylko tego, że po usunięciu czegokolwiek, jquery w ogóle nie odwiedza skryptu który obsługuje 'submit', więc do 'clicked' nawet nie dotrze. Tak jakby zwykły button bez żadnych ustawionych parametrów zatwierdzał formularz?
Na 70% tak właśnie jest, ale muszę się upewnić, więc na tą chwilę nie ma chyba sensu tracić czasu. Dzięki jeszcze razSmile.
Piotr
Odpowiedz
#3
Zamieniłem button na span i wszystko poszło. Tak przeczuwałem, że to przycisk miesza zatwierdzając formularz. No cóż nie douczonySmile, ale wolałem się upewnić żeby się potem w pracy nie motać, bo dopiero jestem na rozruchuWink.
Dzięki i pozdr.
Piotr
Odpowiedz
#4
Kod:
$("#id-formularza > :input[type=submit]")

http://stackoverflow.com/questions/5439078/why-is-an-input-tag-not-allowed-directly-within-a-form-tag
Odpowiedz
#5
a dlaczego by nie
http://www.w3schools.com/jquery/sel_input_submit.asp
Odpowiedz
#6
Coś wy dzisiaj jacyś niewyspani jesteście.

Kod:
$("#formularz").find(":submit")......
Odpowiedz


Podobne wątki…
Wątek: Autor Odpowiedzi: Wyświetleń: Ostatni post
  Kursy (x)HTML/CSS DoGeR 9 23,694 18-01-2017, 21:55
Ostatni post: Michael
Sad HTML/CSS/JQUERY - Potrzebuje pomocy / Bezradność jokerblitzz 10 10,229 28-04-2016, 00:24
Ostatni post: mubi
  [CSS]+[HTML] Pozycjonowanie slidera. Youras 2 4,751 16-01-2016, 23:11
Ostatni post: Szymon Słowik
  jquery? mordrag 0 2,337 29-03-2015, 17:44
Ostatni post: mordrag
  Kolor tła dla aktywnej podstron [CSS i HTML] bahafo 5 7,792 27-12-2014, 15:25
Ostatni post: Kartofelek

Skocz do:


Użytkownicy przeglądający ten wątek: 1 gości
Sponsorzy i przyjaciele
SeoHost.pl