Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [jQuery][ajax] Wartość z radio
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
deha21
Mam dwa pola radio, o nazwie i id 'type'. Chcę aby ajax wysyłał te dane na maila. Wszystko mam gotowe tylko jest właśnie problem z przesyłaniem zmiennych z radio inputów.
Sprowadza się to do tego żeby odczytać który z inputów jest zaznaczony. Najpierw głowiłem się jak zrobić żeby jQuery to zajarzył i udało się tak:
[JAVASCRIPT] pobierz, plaintext
  1. if ($("input[name='type']").attr('checked')) { var type=$("input[name='type']").val(); }
[JAVASCRIPT] pobierz, plaintext

Działa to jeśli ujmę to w $("input[name='type']").click ale wtedy przy wysyłaniu formularza nie widzi tej wartości.
Próbowałem chyba już wszystkiego. Nie mam pojęcia jak to zrobić, już mi się w głowie miesza. Pomocy.
Ostatnio kombinowałem w ten sposób:
[JAVASCRIPT] pobierz, plaintext
  1. $("#wyslij").live("click",function(){
  2. var imie=$("#imie").val();
  3. var nazwisko=$("#nazwisko").val();
  4. var org=$("#org").val();
  5. var mail=$("#mail").val();
  6. var adres=$("#adres").val();
  7. var miasto=$("#miasto").val();
  8. var telefon=$("#telefon").val();
  9. var www=$("#www").val();
  10. var title=$("#title").val();
  11. var place=$("#place").val();
  12. var date=$("#date").val();
  13. var addons=$("#addons").val();
  14. var link=$("#link").val();
  15. var startdate=$("#startdate").val();
  16. var uwagi=$("#uwagi").val();
  17.  
  18. if ($("input[name='type']").attr('checked')) { var type=$("input[name='type']").val(); }
  19. if ($("input[name='color']").attr('checked')) { var color=$("input[name='color']").val(); }
  20.  
  21. if (!isValidEmailAddress(mail)) {
  22. $("#contactform .mail").text("Wpisz poprawny e-mail");
  23. } else {
  24.  
  25. $("#wyslij").attr('disabled', 'disabled').val('Wysyłanie...').css({width:'150px' , background:'#ccc', color:'#444'});
  26.  
  27. $.ajax({
  28. type: "POST",
  29. url: "a_reklama.php",
  30. data: {imie: imie, nazwisko: nazwisko, org: org, mail: mail, adres: adres, miasto: miasto, telefon: telefon, www: www, title: title, place: place, date: date, addons: addons, link: link, startdate: startdate, type: type, color: color, uwagi:uwagi},
  31. success:function(data){$("#content").html(data);},
  32. });
  33. }
  34.  
  35. return false;
  36. });
[JAVASCRIPT] pobierz, plaintext


Wszystko działa oprócz tego, że nie czyta danych z type i color.

A tu html:
  1. <b>Typ:</b><br><br>
  2. <input type='radio' name='type' value='One' id='One'><label for='One'>Pierwszy</label><br><br>
  3. <input type='radio' name='type' value='Two' id='Two'><label for='Two'>Drugi<br><br>
  4.  
  5. <b>Kolor:</b><br><br>
  6. <table style='width:100%;'><tr>
  7. <td>
  8. <input type='radio' name='color' value='Blue' id='Blue'><label for='Blue'>Niebieski</label>
  9. </td>
  10. <td>
  11. <input type='radio' name='color' value='Dark' id='Dark'><label for='Dark'>Czarny></label>
  12. </td>
  13. <td>
  14. <input type='radio' name='color' value='Pink' id='Pink'><label for='Pink'>Różowy</label>
  15. </td>
  16. <td>
  17. <input type='radio' name='color' value='Brown' id='Brown'><label for='Brown'>Brązowy</label>
  18. </td>
  19. <td>
  20. <input type='radio' name='color' value='White' id='White'><label for='White'>Biały</label>
  21. </td>
erix
A czemu robisz wszystko ręcznie? Nie lepiej przez
[JAVASCRIPT] pobierz, plaintext
  1. $('form').serialize();
[JAVASCRIPT] pobierz, plaintext

?
deha21
Hmm tego nie znałem winksmiley.jpg

W takim razie jak to teraz zapisuje? Bo tak nie działa:
[JAVASCRIPT] pobierz, plaintext
  1. $.ajax({
  2. type: "POST",
  3. url: "a_reklama.php",
  4. data: $("#contactform").serialize();,
  5. success:function(data){$("#content").html(data);},
  6. });
[JAVASCRIPT] pobierz, plaintext


EDIT: Ok działa. Okazało się, że miałem błąd w innej części skryptu JS.
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.