Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> formularz zamówienia
d4ng
post
Post #1





Grupa: Zarejestrowani
Postów: 191
Pomógł: 4
Dołączył: 7.03.2010

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


Witam, tworze własnie stronkę z bardzo prostym formularzem zamówień. Po uzupełnieniu pola "Ilość" i kliknięciu "Zamów" pojawia się poniżej kilka dodatkowych pól "Imie i nazwisko", "Email", "Telefon" itp... po uzupełnieniu można kliknąć "Wyślij zamówienie i wszystko (ilość, imie i nazwisko, email, tel itp) przesyła się na podany w kodzie email. A poniżej pokazuje się napis "Dziękujemy za złożenie zamówienia ktoś skontaktuje się z Państwem w ciągu 24h.
Sam formularz nie jest dla mnie problemem... tylko pokazanie się dodatkowych pól formularza po uzupełnieniu pola "Ilość" bez przeładowania strony... Jak to zrobić? Załączam zamysł narysowany w Paint'cie smile.gif
http://edytor-html.pl/s1.png
http://edytor-html.pl/s2.png
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
markonix
post
Post #2





Grupa: Zarejestrowani
Postów: 2 707
Pomógł: 290
Dołączył: 16.12.2008
Skąd: Śląsk

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


jQuery i wystarczą dwie funkcje: val() -> show() no i oczywiście event jaki sobie wybierzesz (zmiana wartości inputa, zmiana aktywnego inputa itp. można kilka na raz też).

Ps. Dział nieodpowiedni. To jeszcze nie ajax..

Ten post edytował markonix 24.09.2012, 12:30:51


--------------------
Go to the top of the page
+Quote Post
d4ng
post
Post #3





Grupa: Zarejestrowani
Postów: 191
Pomógł: 4
Dołączył: 7.03.2010

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


Dziękuje za odpowiedź ale czy mógłbym prosić o przykład w kodzie bo z samego tekstu wiele się nie nauczę. Pozdrawiam
Go to the top of the page
+Quote Post
Arcioch
post
Post #4





Grupa: Zarejestrowani
Postów: 324
Pomógł: 110
Dołączył: 18.09.2012

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


Taki bardzo prymitywny przykład ale szef jest w pracy wink.gif chodzi tylko o metodę wink.gif

  1. <meta charset="UTF-8">
  2. <script type="text/javascript" src="http://code.jquery.com/jquery-1.8.1.min.js"></script>
  3. $(function() {
  4.  
  5. $("#pokazany").submit(function() {
  6. var ilosc = $('input[name=ilosc]').val();
  7.  
  8. if(ilosc == ''){
  9. alert('Uzupełnij ilość produktów');
  10. }else{
  11. $('#uktyry').slideDown('slow');
  12. }
  13.  
  14. return false;
  15. });
  16.  
  17. });
  18. </head>
  19.  
  20. <form method="Post" id="pokazany" action="">
  21. Ilość: <input type="text" name="ilosc" />
  22. <input type="submit" name="show" value="Zamawiam" />
  23. </form>
  24.  
  25. <form method="Post" action="" id="uktyry" style="display: none; clear: both; overflow:hidden;">
  26. Imie i nazwisko: <input type="text" name="imie" />
  27. Email: <input type="text" name="email" />
  28. Imie i nazwisko: <input type="text" name="imie" />
  29. <input type="submit" name="send" value="Wyślij zamówienie" />
  30. </form>
  31. </body>
  32. </html>
Go to the top of the page
+Quote Post
d4ng
post
Post #5





Grupa: Zarejestrowani
Postów: 191
Pomógł: 4
Dołączył: 7.03.2010

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


Wielkie dzięki, myślę że to co zrobiłeś przysłuży się nie tylko mi, ale i "potomnym". Prosiłbym jeszcze o małą poprawkę poniższego kodu, bo po wejściu na strone kod wykonuje się z automatu a jeszcze nieuzupełnione pola lecą na email... Ps. Czy można zrobić tak że komunikat o wysłaniu wiadomości pokazuje się po naciśnięciu przycisku "wyślij zamówienie" bez przeładowania strony? Dziękuje i pozdrawiam

Kod
<?php
        $ilosc = $_POST['ilosc'];
        $imie = $_POST['imie'];
        $email = $_POST['email'];
        $telefon = $_POST['telefon'];
        $adresdo = 'mojemail@firma.pl';
        $temat = "Zamówienie";
        $zawartosc = "Nowe zamówienie na xyz w ilośći $ilosc sztuk od $imie \n\n Dane kontaktowe: \n Email - $email \n Telefon: $telefon";
        if (mail($adresdo, $temat, $zawartosc)) {
            echo "Dziekujemy za złożenie zamówienia. W ciągu 24 skontaktujemy się z Państwem w celu potwierdzenia oraz realizacji zamówienia.";
            } else {
                echo "Zamówienie nie zostało wysłane";
                }
        ?>
        
        <form action="" method="Post" id="pokazany">
        Ilość: <input type="text" name="ilosc" />
        <input type="submit" name="show" value="Zamawiam" />
        </form>

        <form method="Post" action="" id="uktyry" style="display: none; clear: both; overflow:hidden;">
        Imie i nazwisko: <input type="text" name="imie" /><br />
        Email: <input type="text" name="email" /><br />
        Telefon: <input type="text" name="telefon" /><br />
        <input type="submit" name="send" value="Wyślij zamówienie" />
        </form>

Go to the top of the page
+Quote Post
Arcioch
post
Post #6





Grupa: Zarejestrowani
Postów: 324
Pomógł: 110
Dołączył: 18.09.2012

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


To jest tylko przykład trzeba go dopracować i zabezpieczyc wink.gif

plik index.php

  1.  
  2.  
  3. <html>
  4. <head>
  5. <meta charset="UTF-8">
  6. <script type="text/javascript" src="http://code.jquery.com/jquery-1.8.1.min.js"></script>
  7. $(function() {
  8.  
  9. $("#pokazany").submit(function() {
  10. var ilosc = $('input[name=ilosc]').val();
  11.  
  12. if(ilosc == ''){
  13. alert('Uzupełnij ilość produktów');
  14. }else{
  15. $('#uktyry').slideDown('slow');
  16. }
  17.  
  18. return false;
  19. });
  20.  
  21. $("#uktyry").submit(function() {
  22. var imie = $('input[name=imie]').val();
  23. var email = $('input[name=email]').val();
  24. $.ajax({
  25. type: "POST",
  26. url: "jquery.php",
  27. data: "imie=" + imie + "&email=" + email,
  28. cache: false,
  29. dataType: "json",
  30. success: function(data){
  31.  
  32. $('.respone').html(data.tresc);
  33. }
  34. });
  35. return false;
  36. });
  37.  
  38. });
  39. </script>
  40. </head>
  41. <body>
  42. <div class="respone"></div>
  43. <form method="Post" id="pokazany" action="">
  44. Ilość: <input type="text" name="ilosc" />
  45. <input type="submit" name="show" value="Zamawiam" />
  46. </form>
  47.  
  48. <form method="Post" action="" id="uktyry" style="display: none; clear: both; overflow:hidden;">
  49. Imie i nazwisko: <input type="text" name="imie" /><br />
  50. Email: <input type="text" name="email" /><br />
  51. Telefon: <input type="text" name="telefon" /><br />
  52. <input type="submit" name="send" value="Wyślij zamówienie" />
  53. </form>
  54. </body>
  55. </html>
  56.  


pliki jquery.php

  1.  
  2. <?php
  3. if(isset($_POST['email'])){
  4. $email = $_POST['email'];
  5. $telefon = $_POST['telefon'];
  6. if (@mail($adresdo, $temat, 'asd')) {
  7. echo json_encode(array('status' => 'oki', 'tresc' => "Dziekujemy za złożenie zamówienia. W ciągu 24 skontaktujemy się z Państwem w celu potwierdzenia oraz realizacji zamówienia."));
  8. } else {
  9. echo json_encode(array('status' => 'fail', 'tresc' => "Nic z tego"));
  10. }
  11. }
  12. ?>
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 - 20:37