Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Jak zablokować buton na 5 sekund
kk77
post
Post #1





Grupa: Zarejestrowani
Postów: 18
Pomógł: 0
Dołączył: 3.07.2010

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


Witam,

Jak zablokować buton po kliknięciu na niego na 5 sekund.

Aktualnie używam tego rozwiązania.

  1. <form onsubmit="document.getElementById('123').disabled=true">
  2. ...
  3. <input id="123" type="submit" class="btn btn-success btn-send" value="WYŚLJ ZAMÓWIENIE" onclick="java script:this.value='WYŚLIJ PONOWNIE';">


Ale w moim formularzu po błędnym lub niekompletnym wypełnieniu jego pół, osoba nie ma możliwości ponownego wysłanie formularza. Musi przeładować stronę, a tego nie chcę.

Jak dodać do tego rozwiązania blokadę tego przycisku tylko na 5 sekund. Może być odliczanie od 5 do aktywacji buttona.

Działający formularz mam tutaj:
http://zdrowemiody.pl/formularz-sklep/

----------------

problem rozwiązany

użyłem tego rozwiązania

http://jsfiddle.net/BvYwr/1/

-------------------------------

a jednak nie rozwiązane. sad.gif

nie działa pod chrome.

Coś trzeba dodać?

Ten post edytował kk77 13.05.2017, 21:17:07
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 16)
sasiadstar
post
Post #2





Grupa: Zarejestrowani
Postów: 102
Pomógł: 0
Dołączył: 19.06.2015

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


Nie wiem czemu ci nie działa bo u mnie pod chromem chodzi.
Sprawdź konsole błędów co ci wypluwa
Go to the top of the page
+Quote Post
kk77
post
Post #3





Grupa: Zarejestrowani
Postów: 18
Pomógł: 0
Dołączył: 3.07.2010

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


A jak to sprawdzić to w konsoli?

Aktualnie testowałem te wszystkie rozwiązania (3 chyba)

http://stackoverflow.com/questions/9914286...eout-javascript

Żadne nie działa mi pod chrome.
Go to the top of the page
+Quote Post
nospor
post
Post #4





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




F12 - otwiera devtools w tym i konsole


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
kk77
post
Post #5





Grupa: Zarejestrowani
Postów: 18
Pomógł: 0
Dołączył: 3.07.2010

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


taki komunikat dostaję w konsoli chrome:

DevTools failed to parse SourceMap: http://zdrowemiody.pl/formularz-sklep/css/...rap.min.css.map

Pod FF nie mam żadnego.

Czy to jest powód?

------------------------

sprawdzałem pod smartfonem też nie działa.
Go to the top of the page
+Quote Post
nospor
post
Post #6





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Blad nie ma zwiazku z problemem.
Mi tam zarowno na twojej stronie jak i w tescie na chrome wszystko dziala. Moze napisz dokladnie czym u ciebie objawia sie blad


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
kk77
post
Post #7





Grupa: Zarejestrowani
Postów: 18
Pomógł: 0
Dołączył: 3.07.2010

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


Pod FF wysyła formularz.

Pod Chrome nie wysyła.

Nie wysłanie pod chrome występuje tylko po zastosowaniu metod pod podanym linkiem wyżej.

http://stackoverflow.com/questions/9914286...eout-javascript

Po prosty FF wysyła, Chrome nie.

Testuje te metody: (Każda z nich zastosowana w moim formularzu powoduje, że formularz NIE zostaje WYSŁANY)

1.
  1.  
  2. function deactivatefunc()
  3. {
  4. var btn = document.getElementById("test");
  5. btn.disabled = true;
  6. var mytimer = setTimeout(activate,2000);
  7. }
  8.  
  9. function activate () {
  10. var btn = document.getElementById("test");
  11. btn.disabled = false;
  12. }
  13.  
  14.  
  15. <input type="submit" class="btn btn-success btn-send" value="WYŚLJ ZAMÓWIENIE" id="test" onclick="deactivatefunc()">
  16.  


2.
  1. var mybutton = document.getElementById("mybutton");
  2. mybutton.onclick = function() {
  3. mybutton.disabled = true;
  4. setTimeout(function() {
  5. mybutton.disabled = false;
  6. }, 2000);
  7. };
  8.  
  9.  
  10. <input type="button" id="mybutton" value="Test">
  11.  


3.
  1.  
  2. function foo(obj) {
  3. obj.disabled = true;
  4. setTimeout(function() {
  5. obj.disabled = false;
  6. }, 5000);
  7. }
  8.  
  9. <input type="submit" class="btn btn-success btn-send" value="WYŚLJ ZAMÓWIENIE" onclick="foo(this);">


Ten post edytował kk77 13.05.2017, 22:40:20
Go to the top of the page
+Quote Post
sasiadstar
post
Post #8





Grupa: Zarejestrowani
Postów: 102
Pomógł: 0
Dołączył: 19.06.2015

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


Weź spróbuj tak
$(function () {
zamień na $(documet).ready(function(){

kod


})
Go to the top of the page
+Quote Post
kk77
post
Post #9





Grupa: Zarejestrowani
Postów: 18
Pomógł: 0
Dołączył: 3.07.2010

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


Mógłbyś napisać cały kod? Ja tylko potrafię coś skopiować, i ewentualnie zmienić wartości.
Go to the top of the page
+Quote Post
sasiadstar
post
Post #10





Grupa: Zarejestrowani
Postów: 102
Pomógł: 0
Dołączył: 19.06.2015

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


Czyściłeś pamieć przeglądarki bo jak nie to js prawdopodobnie ci się nie przeładował
Go to the top of the page
+Quote Post
kk77
post
Post #11





Grupa: Zarejestrowani
Postów: 18
Pomógł: 0
Dołączył: 3.07.2010

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


Tak czyściłem.

Spróbuj tego linka i powiedz, czy pod FF i pod Chrome wyskoczy 'OK'

http://zdrowemiody.pl/formularz-sklep/index2.php
Go to the top of the page
+Quote Post
sasiadstar
post
Post #12





Grupa: Zarejestrowani
Postów: 102
Pomógł: 0
Dołączył: 19.06.2015

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


ff OK chrome nothing
Go to the top of the page
+Quote Post
kk77
post
Post #13





Grupa: Zarejestrowani
Postów: 18
Pomógł: 0
Dołączył: 3.07.2010

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


No właśnie, nie działa. A jak to naprawić by działało także pod chrome?
Go to the top of the page
+Quote Post
bostaf
post
Post #14





Grupa: Zarejestrowani
Postów: 374
Pomógł: 79
Dołączył: 6.04.2010
Skąd: Ostrów Wielkopolski

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


U mnie na Chrome Wersja 58.0.3029.110 (64-bit) - działa.
Go to the top of the page
+Quote Post
Boshi
post
Post #15





Grupa: Zarejestrowani
Postów: 342
Pomógł: 15
Dołączył: 30.08.2011

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


Nie wiem z jakiego powodu, ale chrome bardzo mocno cachuje dane. Już nie raz się na tym przejechałem, zmieniając np coś w css, w edge gra, w chrome bez zmian.. dopiero po kilkunastu minutach zaczyna chodzić.

Go to the top of the page
+Quote Post
trueblue
post
Post #16





Grupa: Zarejestrowani
Postów: 6 806
Pomógł: 1828
Dołączył: 11.03.2014

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


W Chrome musisz wywołać metodę submit na formularzu, jeśli przycisk zatwierdzania jest disabled.


--------------------
Go to the top of the page
+Quote Post
kk77
post
Post #17





Grupa: Zarejestrowani
Postów: 18
Pomógł: 0
Dołączył: 3.07.2010

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


Cytat(bostaf @ 14.05.2017, 17:33:24 ) *
U mnie na Chrome Wersja 58.0.3029.110 (64-bit) - działa.



tak działa, o godzinie 13 problem rozwiązany. Nie wiem jak. Kolega mi kod poprawił. Co zrobił nie wiem, ale na pewno nie onClick
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 Aktualny czas: 19.08.2025 - 11:00