• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Odtwórz dźwięk, następnie wyślij formularz

Object Storage Arubacloud
0 głosów
148 wizyt
pytanie zadane 17 sierpnia 2017 w JavaScript przez Mr Popcorn Bywalec (2,340 p.)
edycja 17 sierpnia 2017 przez Mr Popcorn

Witam serdecznie. Dodałem do formularza funkcję informowania dźwiękiem o poprawnie wysłanym formularzu.
Dźwięk ten odtwarzany jest w momencie kliknięcia przycisku "Wyślij", jeszcze zanim formularz zdąży się wysłać.
Niestety, mimo tego że dźwięk trwa tylko jedną sekundę, to i tak nie zdąży się odtworzyć do końca, ponieważ formularz się wysyła i strona się odświeża. Czy istnieje możliwość wysłania formularza dopiero wtedy, gdy dźwięk zostanie odtworzony do końca? 

Oto krótki kod. Wystarczy kliknąć przycisk "wyślij".

 

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>

<form method="POST" name="add_order" action="<?php echo $_SERVER['PHP_SELF']; ?>" >

  <input type="text" name="o_user" placeholder="Username"  />
  <input type="text" name="o_mail" placeholder="E-mail"  />
  <input type="password" name="o_pass" placeholder="Password"  />
  
  <input type="submit" id="add_order_btn" name="add_order_btn" value="-- WYŚLIJ --" />
  
</form>

<audio id="audio" src="http://www.temp-17-08-2017.cba.pl/buttonsound.mp3" ></audio>

 

        function play(){
            document.getElementById("audio").play();
        }
        $(function(){
           $("#add_order_btn").click(function(){ play(); });
        });

 

* { margin: 0; padding: 0; border:none; outline: none; }
body {
  width: 100%;
  background-color: #404040;
}
form {
  background-color: #333;
  padding: 15px;
  width: 200px;
  margin: 50px auto;
}
input{
  text-align: center;
  width: 100%;
  height: 30px;
  margin-bottom: 15px;
  letter-spacing: 1.5px;
}
input[type="submit"] {
  margin-bottom: 0;
}

 

1 odpowiedź

0 głosów
odpowiedź 17 sierpnia 2017 przez xmentor Nałogowiec (49,520 p.)

Lepiej skorzystać z eventu submit na formularzu niż click na inpucie.

Zablokuj domyślną akcje, wywołaj funkcje play i dodaj timer, który po sekundzie wyśle formularz.

Podobne pytania

0 głosów
2 odpowiedzi 402 wizyt
pytanie zadane 23 września 2017 w PHP przez Waldemar Początkujący (410 p.)
+1 głos
2 odpowiedzi 649 wizyt
pytanie zadane 15 marca 2021 w JavaScript przez Kubs Mądrala (5,190 p.)
0 głosów
1 odpowiedź 369 wizyt

92,575 zapytań

141,424 odpowiedzi

319,649 komentarzy

61,960 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...