Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [HTML][JavaScript]Type radio zwraca undefined
Forum PHP.pl > Forum > Przedszkole
peter-sca
Witam,

posiadam formularz z kilkoma polami i opcją radio, wszystko działa jak należy jednak nie wiem dlaczego cały czas tylko z type="radio" zwracane jest undefined, proszę o pomoc.

  1. <script language="javascript">
  2.  
  3.  
  4.  
  5.  
  6. function createRequestObject() {
  7. var ro;
  8. var browser = navigator.appName;
  9. if(browser == "Microsoft Internet Explorer"){
  10. ro = new ActiveXObject("Microsoft.XMLHTTP");
  11. }else{
  12. ro = new XMLHttpRequest();
  13. }
  14. return ro;
  15. }
  16.  
  17. var http = createRequestObject();
  18.  
  19. function sendemail() {
  20. var marka = document.contactform.marka.value;
  21. var model = document.contactform.model.value;
  22. var rocznik = document.contactform.rocznik.value;
  23. var kolor = document.contactform.kolor.value;
  24. var km = document.contactform.km.value;
  25. var imie = document.contactform.imie.value;
  26. var nazwisko = document.contactform.nazwisko.value;
  27. var telefon = document.contactform.telefon.value;
  28. var email = document.contactform.email.value;
  29. var prowincja = document.contactform.prowincja.value;
  30. var miejscowosc = document.contactform.miejscowosc.value;
  31. var ulica = document.contactform.ulica.value;
  32. var numer = document.contactform.numer.value;
  33. var akceptacja = document.contactform.akceptacja.value;
  34. var zgoda = document.contactform.zgoda.value;
  35.  
  36.  
  37. document.contactform.send.disabled=true;
  38. document.contactform.send.value='wysyłanie....';
  39.  
  40. http.open('get', 'form.php?marka='+marka+'&model='+model+'&rocznik='+rocznik+'&kolor='+kolor+'&km='+km+'&imie='+imie+'&nazwisko='+nazwisko+'&telefon='+telefon+'&email='+email+'&prowincja='+prowincja+'&miejscowosc='+miejscowosc+'&ulica='+ulica+'&numer='+numer+'&akceptacja='+akceptacja+'&zgoda='+zgoda+'&action=send');
  41. http.onreadystatechange = handleResponse;
  42. http.send(null);
  43. }
  44.  
  45. function handleResponse() {
  46. if(http.readyState == 4){
  47. var response = http.responseText;
  48. var update = new Array();
  49.  
  50. if(response.indexOf('|' != -1)) {
  51. update = response.split('|');
  52. document.getElementById(update[0]).innerHTML = update[1];
  53.  
  54. }
  55. }
  56. }
  57.  
  58. </head>
  59. <!-- header -->
  60. <div id="top">
  61. <div id="name"><a href="index.html"></a></div>
  62. <div id="split"></div>
  63. <div style="border-top:6px solid #7abb37; background-color:blue; ">
  64. <div id="slogan"></div>
  65. <div id="contact_us"><a href="#"></a></div>
  66. </div>
  67. </div>
  68. <div id="logo">
  69. <div class="item"> <br><br><br><br><br><br><br><br><br><br><br>
  70. </div>
  71. <div id="menu">
  72.  
  73. </div>
  74. </div>
  75. <!--end header -->
  76. <!-- main -->
  77. <div id="main">
  78. <div id="sidebar">
  79.  
  80.  
  81.  
  82. </div>
  83. <div id="text">
  84.  
  85.  
  86. <div id="contactarea">
  87. <form name="contactform" id="contactform">
  88.  
  89. <span id="inputlabel"><center>SAMOCHĂD</center></span> &nbsp;&nbsp;<br /><br />
  90. <span id="inputlabel">Marka:*</span> &nbsp;&nbsp;<input type="text" name="marka" id="inputbox"><br /><br />
  91. <span id="inputlabel">Model:*</span> &nbsp;&nbsp;<input type="text" name="model" id="inputbox"><br /><br />
  92. <span id="inputlabel">Rocznik:*</span> &nbsp;&nbsp;<input type="text" name="rocznik" id="inputbox"><br /><br />
  93. <span id="inputlabel">Kolor:*</span> &nbsp;&nbsp;<input type="text" name="kolor" id="inputbox"><br /><br />
  94. <span id="inputlabel">Ĺšredni tygodniowy przebieg:*</span> &nbsp;&nbsp;<br />
  95.  
  96. <span><input type="radio" name="km" value="sto" />150-190<span><br />
  97. <input type="radio" name="km" value="sto" />200-209<br />
  98. <input type="radio" name="km" value="sto" />300-390<br />
  99.  
  100. <span id="inputlabel"><center>DANE KONTAKTOWE:</center></span> &nbsp;&nbsp;<br /><br />
  101. <span id="inputlabel">ImiÄ:*</span> &nbsp;&nbsp;<input type="text" name="imie" id="inputbox"><br /><br />
  102. <span id="inputlabel">Nazwisko:*</span> &nbsp;&nbsp;<input type="text" name="nazwisko" id="inputbox"><br /><br />
  103. <span id="inputlabel">Telefon:*</span> &nbsp;&nbsp;<input type="text" name="telefon" id="inputbox"><br /><br />
  104. <span id="inputlabel">E-mail:*</span> &nbsp;&nbsp;<input type="text" name="email" id="inputbox"><br /><br />
  105. <span id="inputlabel">Prowincja:*</span> &nbsp;&nbsp;<input type="text" name="prowincja" id="inputbox"><br /><br />
  106. <span id="inputlabel">MiejscowoĹÄ:*</span> &nbsp;&nbsp;<input type="text" name="miejscowosc" id="inputbox"><br /><br />
  107. <span id="inputlabel">Ulica:*</span> &nbsp;&nbsp;<input type="text" name="ulica" id="inputbox"><br /><br />
  108. <span id="inputlabel">Numer:*</span> &nbsp;&nbsp;<input type="text" name="numer" id="inputbox"><br /><br />
  109. <input type="checkbox" class="styled" name="akceptacja" validate="required:true" value="tak" />wiadczam, ĹĽe zapoznaĹem siÄ i akceptujÄ w caĹci treĹÄ regulaminu oraz warunki umowy Ĺwiadczonej usĹugi.*<br /><br />
  110. <input type="checkbox" class="styled" name="zgoda" validate="required:true" value="tak" />WyraĹĽam zgodÄ na przetwarzanie moich danych osobowych zbieranych na potrzeby naszego serwisu.*
  111. <br /><br />
  112. <input type="button" value="Wyślij" name="send" onclick="sendemail();" id="submitbutton">
  113.  
  114. </form>
skowron-line
Ponieważ masz 2 inputy radio z takim samym name a to już inaczej się wyciąga.
[JAVASCRIPT] pobierz, plaintext
  1. document.getElementsByName()
[JAVASCRIPT] pobierz, plaintext

a w twoim przypadku to jakos tak
[JAVASCRIPT] pobierz, plaintext
  1. var km = document.contactform.km[0].value;
[JAVASCRIPT] pobierz, plaintext
Oczywiście powinieneś sprawdzić który jest zaznaczony. Z tym że w obu masz value="sto" co i tak da ten sam wynik w obu przypadkach.
Johnas
i popraw :
<span><input type="radio" name="km" value="sto" />150-190<span><br />
peter-sca
dziękuję

po zmianie

  1. var km = document.contactform.km.value;


na

  1. var km = document.contactform.km[0].value;


wysyła mi dane tylko z pierwszej opcji wyboru

  1. <input type="radio" name="km" value="sto" />150-190<br />
  2. <input type="radio" name="km" value="dwiescie" />200-209<br />
  3. <input type="radio" name="km" value="trzysta" />300-390<br />


podpowiedzcie jak sprawdzić który jest zaznaczony ?
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.