Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> formularz - problem z przekazaniem zmiennych
martinez06
post
Post #1





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 29.05.2009

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


Witam
Mam problem z formularzem i użyciem javascript w nim. W formularzu z bazy pobierane są informacje i wyświetlane w selekcie. Chciałbym aby po wyborze i kliknięciu przycisku zanim wywołany będzie skrypt do usunięcia danych z bazy pojawiła się informacja czy napewno chcemy usunąć dane. W skrypcie pojawia się zapytanie, jak odpowiem że chce usunąć to strona się przeładowuje ale żadne informacje z formularza nie są przesyłane. Gdzie jest błąd?

Z góry dziękuje za pomoc.
  1. <?php
  2. <script type="text/javascript">
  3. function przejdz() {
  4. var form = document.getElementById("formularz");
  5. jConfirm('Can you confirm this?', 'Confirmation Dialog', function(r) {
  6.                    if(r)
  7.                        {    
  8.                        form.submit();
  9.                        }
  10.                    });
  11.  
  12. return false;
  13. }
  14. </script>
  15. ?>


  1. <?php
  2. echo'<form id="formularz" onsubmit="return przejdz();" method="post" action="">';
  3. echo"<select name='id'>";
  4. while ($row = db_fetch_object($result))
  5.        {
  6.        $id=$row->id;
  7.    $nazwa=$row->nazwa;
  8.  
  9.    echo'<option value="'.$id.'">'.$nazwa.'</option>';
  10.              }
  11. echo"</select>";
  12.  
  13.  
  14. echo '<input type="submit" name="usun" value="Usuń">';
  15. echo'</form>';
  16. ?>
Go to the top of the page
+Quote Post
erix
post
Post #2





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Czym sypie konsola błędów?
Go to the top of the page
+Quote Post
martinez06
post
Post #3





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 29.05.2009

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


Tylko jedno ostrzeżenie:
Ostrzeżenie: Nieznana własność "border-radius". Deklaracja opuszczona.
Plik źródłowy: http://localhost/strona/jquery-alerts/jquery.alerts.css
Wiersz: 11
Go to the top of the page
+Quote Post
erix
post
Post #4





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




A dla JS nic?
Go to the top of the page
+Quote Post
martinez06
post
Post #5





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 29.05.2009

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


Nie, to jest jedyna informacja jaka pojawia się w konsoli błędów
Go to the top of the page
+Quote Post
erix
post
Post #6





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




To może łaskawie je podaj? Wszystko, co dotyczy JS...
Go to the top of the page
+Quote Post
martinez06
post
Post #7





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 29.05.2009

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


Może źle to napisałem, jedyny błąd jaki pojawia się w konsoli błędów to ostrzeżenie odn. css, które wcześniej wpisałem, nie ma żadnych ostrzeżeń ani błędów związanych z JS.
Go to the top of the page
+Quote Post
erix
post
Post #8





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




A funkcja przejdz() w ogóle się wykonuje...? Wstaw po drodze jakiegoś alerta i prześledź.
Go to the top of the page
+Quote Post
nexis
post
Post #9





Grupa: Zarejestrowani
Postów: 1 012
Pomógł: 109
Dołączył: 26.09.2003
Skąd: nexis.pl

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


Za pomocą jQuery zrobiłbym to tak:

Kod
$(document).ready(function(){
   $("#usun").click(function(){
      return confirm("Can you confirm this?");  
   });
});


musisz jedynie dodać id="usun" w przycisku.

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  2.    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">    
  3. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pl">    
  4.    <head>        
  5.        <meta http-equiv="content-type" content="text/html; charset=utf-8" />        
  6.        <title>formularz - problem z przekazaniem zmiennych</title>        
  7.        <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js"></script>        
  8.        <script type="text/javascript">
  9.            $(document).ready(function(){
  10.               $("#usun").click(function(){
  11.                  return confirm("Can you confirm this?");  
  12.               });
  13.            });
  14.        </script>    
  15.    </head>    
  16.    <body>      
  17.        <form action="<?= $_SERVER['PHP_SELF'] ?>" method="post">
  18.            <select name="id">
  19.            <?php
  20.            $query  = 'Tutaj twoje zapytanie';
  21.            $query  = mysql_query($query);
  22.            $result = mysql_fetch_assoc($query);
  23.            ?>                      
  24.            <?php while($row = db_fetch_object($result)): ?>
  25.                <?= sprintf('<option value="%s">%s</option>', $row->id, $row->nazwa) ?>
  26.            <?php endwhile; ?>          
  27.            <input type="submit" id="usun" value="Usuń" />      
  28.        </form>    
  29.    </body>
  30. </html>


Ten post edytował nexis 29.05.2009, 15:31:37
Go to the top of the page
+Quote Post
erix
post
Post #10





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Man, nie return...

I lepiej dla <form />, bo ktoś może przecież nacisnąć na formularzu jeden z większych klawiszy...

Kod
$(document).ready(function(){
    $('form').submit(function(e){
        if(!confirm('asdasdasd')){
            e.preventDefault();
        }
    });
});
Go to the top of the page
+Quote Post
martinez06
post
Post #11





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 29.05.2009

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


Zastosowałem się do rady nexisa i wszystko działa, wielkie dzięki
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 24.08.2025 - 10:45