Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [Ajax/jQuery] Przesłanie zmiennej do formularza
Przemo75
post 22.12.2017, 13:12:06
Post #1





Grupa: Zarejestrowani
Postów: 66
Pomógł: 2
Dołączył: 9.03.2004
Skąd: POLSKA

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


Witam,
Chciałbym, żeby po kliknięciu w przycisk ZAMÓW, otworzył się (ukryty) formularz, a w temacie formularza automatycznie pojawiły się (wygenerowane) dane - pola $nazwa $nr_katalogowy, a po kliknięciu w przycisk WYŚLIJ formularza lub poza nim, ten zniknął/
  1. <?php
  2. echo "<div id=\"container\">
  3. <ul class=\"list\">
  4. <li>
  5. <section class=\"list-top\">
  6.  
  7. <h5 class=\"title\">
  8. <span class=\"temat\">$nazwa $nr_katalogowy</span>
  9. </h5>
  10.  
  11. <span class=\"priceH\">Cena brutto: <b>$c_brutto</b> zł</span>
  12. <span class=\"tech\">
  13. <b>Numer katalogowy:</b> $nr_katalogowy <br/>
  14. </span>
  15. </section>
  16.  
  17. <section class=\"list-right\">
  18. <span><a class=\"zamow\">ZAMÓW</a></span>
  19. </section>
  20. <div class=\"clearfix\"></div>
  21. </li>
  22. </ul>
  23. </div>";
  24. ?>


Formularz:
  1. <div id="zamow" style="display:none" >
  2. <section id="formularz">
  3. <div class="form-container">
  4. <div class="col-md-12">
  5. <form id="main-contact-form" class="formularz" name="formularz" method="post" action="sendemail.php">
  6. <input type="text" class="form-control" id="title" name="title" required="required" placeholder="Temat *" value="<?php echo $formtyt; ?>">
  7. <input type="text" class="form-control" id="name" name="name" required="required" placeholder="Imię *">
  8. <input type="text" class="form-control" id="number" name="number" placeholder="Telefon">
  9. <input type="email" class="form-control" id="email" name="email" required="required" placeholder="Adres e-mail *">
  10. <textarea class="form-control" rows="3" id="message" name="message" required="required" placeholder="Wiadomość *"></textarea>
  11. <button class="btn btn-default" id="submit" type="submit" name="submit" >WYŚLIJ</button>
  12. <button class="btn btn-default" id="reset" type="reset" name="reset" >Wyczyść</button>
  13. </form>
  14. </div>
  15. </div>
  16. </section>
  17. </div>


Niestety mam problem z ajax'em, który mi nie działa.
Kod
$(document).ready(function() {

// Contact form
    var form = $('#main-contact-form');
    form.submit(function(event){
        event.preventDefault();
        var form_status = $('<div class="form_status"></div>');
        $.ajax({
            url: $(this).attr('action'),
            method: 'POST',
            data: form.serialize(),
            beforeSend: function(){
                form.prepend( form_status.html('<p><i class="fa fa-spinner fa-spin"></i> Wysyłanie wiadomości ...</p>').fadeIn() );
            }
        }).done(function(data){
            form_status.html('<p class="text-success">' + data.message + '</p>').delay(3000).fadeOut();
        });
    });


    $('body').on('click','span.zamow',function()
    {
        var formtyt = $(this).parent().parent().find('span.temat').html();
    alert(formtyt);    
        $('body').find('form#main-contact-form').find('input.title').val(formtyt);
    });
});

Będę wdzięczny za wszelką pomoc.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Przemo75
post 22.12.2017, 14:45:16
Post #2





Grupa: Zarejestrowani
Postów: 66
Pomógł: 2
Dołączył: 9.03.2004
Skąd: POLSKA

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


Szczerze mówiąc, to nie jestem pewien, czy w ogóle mam poprawnie napisanego ajaxa i poprawne odwołanie
Kod
    $(".zamow").on('click','span.zamow',function()
    {
    console.log(".zamow");
        var formtyt = $(this).parent().parent().find('span.temat').html();
    alert(formtyt);    
        $('body').find('form#main-contact-form').find('input.title').val(formtyt);
    });
Go to the top of the page
+Quote Post

Posty w temacie
- Przemo75   [Ajax/jQuery] Przesłanie zmiennej do formularza   22.12.2017, 13:12:06
- - nospor   Pytanie, ktore w tym miesiacu byla zadane petrylia...   22.12.2017, 13:13:26
- - Przemo75   Przepraszam za brak precyzji. Niestety nie działa ...   22.12.2017, 13:28:37
- - viking   Wstaw console.log(jakas zmienna np event); i zobac...   22.12.2017, 14:04:22
- - Przemo75   Consola niestety niczego nie pokazuje   22.12.2017, 14:33:08
- - viking   Jeśli kompletnie niczego nie pokazuje chociaż masz...   22.12.2017, 14:37:07
- - Przemo75   Szczerze mówiąc, to nie jestem pewien, czy w ogóle...   22.12.2017, 14:45:16
- - viking   No nie bardzo. $('#container').on(...   22.12.2017, 14:51:05
- - Przemo75   To chyba też nie to. Wciąż brak info w consoli.   22.12.2017, 15:00:49
- - viking   https://jsfiddle.net/b612ntr7/   22.12.2017, 15:04:25
- - Przemo75   W jsfiddle'u pokazuje mi taką samą zawartość c...   22.12.2017, 15:23:57
- - viking   Bo tu dodałem czerwony kolor po kliknięciu.   22.12.2017, 15:49:14
- - Przemo75   Tak, wiem. Podmieniłem kod, do celów testowych, na...   22.12.2017, 18:09:27
- - viking   W takim razie czegoś tu nie mówisz np nie osadzile...   22.12.2017, 18:37:31
- - Przemo75   Raczej wszystko jest OK, ponieważ np. poniższy kod...   22.12.2017, 19:05:31
- - viking   Jedno nie ma nic wspólnego z drugim (js wykonuje s...   22.12.2017, 19:15:52
- - Przemo75   Witam, W jaki sposób zmodyfikować hide('zamow...   29.03.2018, 19:13:51
- - trueblue   [HTML] pobierz, plaintext $('#zamow').de...   29.03.2018, 19:25:11
- - Przemo75   Pięknie dziękuję. Działa jak trzeba. :-) Wracając...   6.04.2018, 12:09:35
- - trueblue   [HTML] pobierz, plaintext var formtyt = $(thi...   6.04.2018, 16:53:21
- - Przemo75   Ależ to było proste. :-o Wielkie dzięki. :-) Kombi...   6.04.2018, 19:26:24


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 Wersja Lo-Fi Aktualny czas: 19.04.2024 - 23:28