Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript]Problem z jquery impromptu (potwierdzenie wykonania formularza))
Forum PHP.pl > Forum > Przedszkole
ublizzard
Chciałbym aby po wciśnięciu buttona pojawiło się pytanie, czy na pewno chcę wysłać formularz.
Znalazłem bibliotekę jquery impromptu, jest bardzo fajna, ale gdy umieszczę przycisk w formularzu po jego naciśnięciu pojawia się okienko i szybko znika (około 1s)zanim coś wybiorę.
Tak wygląda kod:
  1. <head>
  2. <script type="text/javascript" src="scripts/jquery-1.7.1.js"></script>
  3. <script type="text/javascript" src="scripts/jquery-impromptu.3.2.js"></script>
  4. <?
  5. echo '<link rel="Stylesheet" type="text/css" href="http://'.$_SERVER['SERVER_NAME'].'/test/style2.css" />';
  6. echo '<link rel="Stylesheet" type="text/css" href="http://'.$_SERVER['SERVER_NAME'].'/test/screen.css" />';
  7. ?>
  8. </head>
  9. <body>
  10. <form action="index.php?tresc=rejestracja" method="post">
  11. <input type="submit" onclick="$.prompt('Example 2',{ buttons: { Ok: true, Cancel: false } });" name="dodaj" value="Dodaj do bazy">
  12. </form>
  13. </body>
  14. </html>

Domyślam się, że muszę zmienić tą linijkę:
  1. <form action="index.php?tresc=rejestracja" method="post">

Ale nie wiem co powinienem tu wpisać.
nospor
Klikając submit wysyłasz formularz (strona sie przeladowuje) wiec nic dziwngo ze ci znika.

Blokada wysyłki z return false;
onclick="$.prompt('Example 2',{ buttons: { Ok: true, Cancel: false } });return false;"

A pod OK masz podpiąć submit formularza
ublizzard
Czyli powinienem raczej zrobić coś takiego:
  1. <button onclick="$.prompt('Example 2',{ buttons: { Ok: true, Cancel: false } });return false;" title="Example 1">Example 1</button><br />

Ale niestety nie mam pojęcia w jaki sposób podpiąć.

Stworzyłem coś takiego
  1. <button onclick="$.prompt('Example 2',{buttons: { Ok: true, Cancel: false }, callback: function(v,m,f){if (v){submit()} }});return false;" title="Example 1">Example 1</button><br />

Niby działa, tylko nie wiem, czy to poprawnie i czy nie wykrzaczy mi się kiedyś.

Obecnie dałem dwa buttony:
  1. <button onclick="$.prompt('Example 2',{buttons: { Ok: true, Cancel: false }, callback: function(v,m,f){if (v){submit()} }});return false;" type="submit" name="wykonaj" value="dodaj">Dodaj</button><br />
  2. <button onclick="$.prompt('Example 2',{buttons: { Ok: true, Cancel: false }, callback: function(v,m,f){if (v){submit()} }});return false;" type="submit" name="wykonaj" value="usun">Usun</button><br />


Mam jeszcze w tym zapisie problem z przekazaniem zmiennych name i value buttonu, który został wciśnięty, czy ktoś może mi pomóc z tym?
Zmienna $_POST['wykonaj'] nie istnieje, czyżby funkcja submit() nie przekazywała jej?



edit:
To może ktoś mi chociaż poradzi w jaki sposób odczytać po wysłaniu formularza za pomocą którego buttona został wysłany?
nospor
pole ukryte, które wartość ustalasz tuż przed submit()
ublizzard
Już znalazłem rozwiązanie:
  1. <form action="index.php?tresc=rejestracja" method="post" name="form" >
  2. <input type="hidden" name="wykonaj" />
  3.  
  4. <input onclick="$.prompt('Example 2',{submit: function(v,m,f){if (v){document.forms['form'].wykonaj.value = 'wyslij' ; document.form.submit()}}, buttons: { Ok: true, Cancel: false } });return false;" type="submit" name="baton" value="Wyslij">
  5.  
  6. </form>

nospor
nadaj polu ID i odwoluj się do pola przy pomocy document.getElementById
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.