Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

2 Stron V   1 2 >  
Reply to this topicStart new topic
> [PHP][JavaScript]Przesyłanie danych formularza poprzez alert/confirm
maksik
post
Post #1





Grupa: Zarejestrowani
Postów: 206
Pomógł: 0
Dołączył: 26.09.2012

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


Witam

mam taki o to najprostszy formularz
  1. <form action="index.php?c=mojezlecenia" method="post">
  2.  
  3. <input type="hidden" name="dlakogo" value="'.$query['User'].'" />
  4. <input type="hidden" name="price" value="'.$query['price'].'" />
  5. <input type="submit" value="Odrzucam"></form>


dotyczy od odrzucania zamówień, jest jakaś możliwość żeby po kliknięciu submit otworzył się alert z type text i można bylo tam wpisać "powód odrzucenia" który by dalej poszedł z formularzem?
Go to the top of the page
+Quote Post
Sephirus
post
Post #2





Grupa: Zarejestrowani
Postów: 1 527
Pomógł: 438
Dołączył: 28.06.2011
Skąd: Warszawa

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


To Cię nakieruje (IMG:style_emoticons/default/smile.gif)

  1. <form action="index.php?c=mojezlecenia" method="post" onsubmit="return podajPowod();">
  2. <!-- tutaj pola formularza -->
  3. <input type="hidden" name="powod" id="powod"/>
  4. </form>
  5. <script type="text/javascript">
  6. function podajPowod() {
  7. var powod = prompt("Podaj powód odrzucenia:");
  8. document.getElementById('powod').value = powod;
  9. return true;
  10. }
Go to the top of the page
+Quote Post
maksik
post
Post #3





Grupa: Zarejestrowani
Postów: 206
Pomógł: 0
Dołączył: 26.09.2012

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


'.$powod.' tą funkcją powinno wywować napisany powód?

Ten post edytował maksik 19.02.2013, 10:56:50
Go to the top of the page
+Quote Post
!*!
post
Post #4





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

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


To nie funkcja a zmienna. Zmienna z formularza np. pola które określa.

Edycja:
http://pl.wikibooks.org/wiki/PHP/Zmienne_i_tablice#Zmienne

A przykład wyżej podaje Ci to w JS a nie PHP.

Ten post edytował !*! 19.02.2013, 11:14:15
Go to the top of the page
+Quote Post
maksik
post
Post #5





Grupa: Zarejestrowani
Postów: 206
Pomógł: 0
Dołączył: 26.09.2012

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


wygląda to tak, ale pole w bazie jest puste, gdzie tu może być błąd?

  1.  
  2.  
  3. elseif ($_GET['c']=='mojezlecenia')
  4. {
  5.  
  6. if ($_POST['NOzad'])
  7.  
  8. {
  9. addPktZad($_POST['dla_kogo'],$_POST['price'],$_POST['powod']);
  10.  
  11. }



  1. <form action="index.php?p=zadania&c=mojezlecenia" method="post" onsubmit="return podajPowod();">
  2.  
  3. <input type="hidden" name="dlakogo" value="'.$query['User'].'" />
  4. <input type="hidden" name="price" value="'.$query['price'].'" />
  5. <input type="hidden" name="powod" id="powod"/>
  6. <input type="submit" value="Odrzucam"></form>
  7.  
  8.  
  9. <script type="text/javascript">
  10. function podajPowod() {
  11. var powod = prompt("Podaj powód odrzucenia:");
  12. document.getElementById(\'powod\').value = powod;
  13. return true;
  14. }
  15. </script>




  1. function addPktZad($user, $idzadania, $price, $powod)
  2. {
  3.  
  4. $query = mysql_query("UPDATE `Zlecenia` SET `Powod`='".$powod."' WHERE `Id`='".$idzadania."' AND `User`='".$user."'");
  5.  
  6.  
  7. }






Ten post edytował maksik 19.02.2013, 11:23:13
Go to the top of the page
+Quote Post
!*!
post
Post #6





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

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


Wysyłasz 3 wartości, a funkcja potrzebuje 4 (powód jest 4).
Go to the top of the page
+Quote Post
maksik
post
Post #7





Grupa: Zarejestrowani
Postów: 206
Pomógł: 0
Dołączył: 26.09.2012

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


Wysyłam 4 i odbieram 4 tylko usunąłem połowe kodu, aby nie zajmował całej strony tylko przejrzyście był widoczny (IMG:style_emoticons/default/wink.gif)

$_POST['powod'] - nie wiem czy w tym kodzie dobrze jest napisane to bo wydaje się, że zawartość mimo uzupełnienia pola w alercie jest pusta



  1. <input type="hidden" name="powod" id="powod"/>

Powinno być tutaj jeszcze coś w value=" ?

Ten post edytował maksik 19.02.2013, 11:39:00
Go to the top of the page
+Quote Post
!*!
post
Post #8





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

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


A co zwraca
  1. var_dump($_POST['powod']);
? Jak jest ok, to wina leży po stornie zapytania, a raczej formy w jakiej przekazujesz dane.

Ten post edytował !*! 19.02.2013, 11:49:30
Go to the top of the page
+Quote Post
maksik
post
Post #9





Grupa: Zarejestrowani
Postów: 206
Pomógł: 0
Dołączył: 26.09.2012

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


pojawia się string(0) ""
Go to the top of the page
+Quote Post
luke18dg
post
Post #10





Grupa: Zarejestrowani
Postów: 79
Pomógł: 0
Dołączył: 26.03.2011
Skąd: Dąbrowa Górnicza

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


A dlaczego nie sprawdzisz poprzez print_r co dostajesz z tablicy $_POST?
If(!(empty($_POST))){print_r($_POST); exit();}
Go to the top of the page
+Quote Post
!*!
post
Post #11





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

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


luke18dg Twój "kod" jest bez sensu.

maksik - skoro post nic nie zawiera to znaczy że go w ogóle nie wysyłasz, lub robisz to źle, pokaż całość.
Go to the top of the page
+Quote Post
toaspzoo
post
Post #12





Grupa: Zarejestrowani
Postów: 778
Pomógł: 84
Dołączył: 29.07.2010
Skąd: Gliwice / Pławniowice Mistrz niezmordowanej klawiatury.

Ostrzeżenie: (20%)
X----


Javascript nie przypisze do ukrytego pola żadnej wartości

Poza tym, u mnie onsubmit nie działa.
Go to the top of the page
+Quote Post
maksik
post
Post #13





Grupa: Zarejestrowani
Postów: 206
Pomógł: 0
Dołączył: 26.09.2012

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


  1. elseif ($_GET['c']=='mojezlecenia')
  2. {
  3.  
  4.  
  5. if ($_POST['mojezlecenia'])
  6. {
  7.  
  8. if ($_POST['OKzad'])
  9. {
  10. addPktUser($_POST['dlakogo'],$_POST['price'],$_POST['mojezlecenia']);
  11.  
  12. }
  13.  
  14. if ($_POST['NOzad'])
  15.  
  16. {
  17. addPktZad($_POST['dlakogo'],$_POST['mojezlecenia'],$_POST['price'],$_POST['powod']);
  18.  
  19. }
  20.  


  1.  
  2. <form action="index.php?p=zadania&c=mojezlecenia" method="post" onsubmit="return podajPowod();">
  3. <input type="hidden" name="NOzad" value="TRUE" />
  4. <input type="hidden" name="dlakogo" value="'.$query['User'].'" />
  5. <input type="hidden" name="price" value="'.$_POST['price'].'" />
  6. <input type="hidden" name="mojezlecenia" value="'.$_POST['mojezlecenia'].'" />
  7.  
  8. <input type="hidden" name="powod" id="powod"/>
  9. <input type="submit" class="button1" value="Odrzucam"></form>
  10.  
  11.  
  12. <script type="text/javascript">
  13. function podajPowod() {
  14. var powod = prompt("Podaj powód odrzucenia:");
  15. document.getElementById(\'powod\').value = powod;
  16. return true;
  17. }
  18. </script>



  1. function addPktZad($user, $idzadania, $price, $powod)
  2. {
  3.  
  4. if (mysql_num_rows($query1) <> 0)
  5. {
  6.  
  7.  
  8. $query = mysql_query("UPDATE `Zlecenia` SET `Accept`='3' WHERE `Id_Zadania`='".$idzadania."' AND `User`='".$user."'");
  9. $query = mysql_query("UPDATE `Zlecenia` SET `Powod`='".$powod."' WHERE `Id_Zadania`='".$idzadania."' AND `User`='".$user."'");
  10.  
  11.  
  12. }
  13.  
  14. }


Ten post edytował maksik 19.02.2013, 12:43:11
Go to the top of the page
+Quote Post
toaspzoo
post
Post #14





Grupa: Zarejestrowani
Postów: 778
Pomógł: 84
Dołączył: 29.07.2010
Skąd: Gliwice / Pławniowice Mistrz niezmordowanej klawiatury.

Ostrzeżenie: (20%)
X----


http://locked.pl/fphp.php
http://jsfiddle.net/DnJ4D/



  1. <pre>
  2. <? var_dump($_POST['powod']); ?>
  3. </pre>
  4.  
  5. <form action="fphp.php?p=zadania&c=mojezlecenia" method="post" id="forma">
  6.  
  7. <input type="hidden" name="dlakogo" value="'.$query['User'].'" />
  8. <input type="hidden" name="price" value="'.$query['price'].'" />
  9. <input type="hidden" name="powod" id="powod"/>
  10. <input type="submit" value="Odrzucam"></form>
  11.  
  12. <script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
  13. <script type="text/javascript">
  14.  
  15.  
  16. $("#forma").submit(function(){
  17.  
  18. var pr = prompt("Podaj powód");
  19. $("#powod").val(pr);
  20. alert("powód: "+$("#powod").val());
  21.  
  22. });
  23. </script>


częściowy kod
Go to the top of the page
+Quote Post
maksik
post
Post #15





Grupa: Zarejestrowani
Postów: 206
Pomógł: 0
Dołączył: 26.09.2012

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


nie pojawia się u mnie alert po zastosowaniu tego kodu
Go to the top of the page
+Quote Post
toaspzoo
post
Post #16





Grupa: Zarejestrowani
Postów: 778
Pomógł: 84
Dołączył: 29.07.2010
Skąd: Gliwice / Pławniowice Mistrz niezmordowanej klawiatury.

Ostrzeżenie: (20%)
X----


Daj logi z konsoli przeglądarki

Że się tak spytam profilaktycznie, podłączenie do internetu masz na tej maszynie ?

Daj cały kod
Go to the top of the page
+Quote Post
maksik
post
Post #17





Grupa: Zarejestrowani
Postów: 206
Pomógł: 0
Dołączył: 26.09.2012

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


akcja pomija krok z js czyli nie wyświetla się alert, być może kod

  1. <script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>


może gryzie się z innymi kodami js? bo pierwszy kod js który podał Sephirius działa, ale nie dodaje do bazy wpisanej w alercie zawartości

Ten post edytował maksik 19.02.2013, 13:23:34
Go to the top of the page
+Quote Post
luke18dg
post
Post #18





Grupa: Zarejestrowani
Postów: 79
Pomógł: 0
Dołączył: 26.03.2011
Skąd: Dąbrowa Górnicza

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


Cytat(!*! @ 19.02.2013, 12:33:04 ) *
luke18dg Twój "kod" jest bez sensu.


print_r($_POST); Wypiszę całą tablicę $_POST, a do mojej wypowiedzi autor nie wiedział, dlaczego do bazy nic nie jest dodawane. Więc proszę pierw, nie krytykuj pochopnie.
Go to the top of the page
+Quote Post
maksik
post
Post #19





Grupa: Zarejestrowani
Postów: 206
Pomógł: 0
Dołączył: 26.09.2012

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


jednak działa. Dzięki wielkie (IMG:style_emoticons/default/wink.gif)
Go to the top of the page
+Quote Post
toaspzoo
post
Post #20





Grupa: Zarejestrowani
Postów: 778
Pomógł: 84
Dołączył: 29.07.2010
Skąd: Gliwice / Pławniowice Mistrz niezmordowanej klawiatury.

Ostrzeżenie: (20%)
X----


http://jsfiddle.net/DnJ4D/1/
[JAVASCRIPT] pobierz, plaintext
  1.  
  2.  
  3.  
  4. $("#forma").submit(function(event){
  5.  
  6. var pr = prompt("Podaj powód");
  7. $("#powod").val(pr);
  8. if($.trim(pr).length==0)
  9. event.preventDefault();
  10. else
  11. alert("powód: "+$("#powod").val());
  12.  
  13. });
[JAVASCRIPT] pobierz, plaintext


Tutaj masz, że jak się kliknie anuluj lub nic się nie wpisze, to nie wysyła formularza.

Ten post edytował toaspzoo 21.02.2013, 17:20:46
Go to the top of the page
+Quote Post

2 Stron V   1 2 >
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: 22.08.2025 - 17:30