Wysłanie formularza z opcją radio w bootstrap problem walidacji?

0

Chcę dodać opcję radio "rodzaj" do formularza i wyświetlić w mailu, nie wyświetla się opcja radio "rodzaj", coś nie tak mam w main.js

Hej... najpierw walczyłem z prawidłowym wyświetlaniem się radio w mozilli, a teraz walczę z tym, aby wartość radio wyświetliła się na mojej skrzynce mailowej. Ale teraz utknąłem bo brakuje mi wiedzy na temat jquery, bo chyba tu jest błąd.

index.html (tu wszystko ładnie)

<div class="col-md-12 col-sm-12 col-xs-12">                           
<div class="col-md-6 col-sm-6 col-xs-6">
<input style="-moz-appearance:radio" class="form-control form-control-lg" type="radio" id="rodzaj" name="rodzaj" value="alfa" />
</div>
<div class="col-md-6 col-sm-6 col-xs-6">   
<p>Alfa</p>

</div>
</div>
<div class="col-md-12 col-sm-12 col-xs-12">
<div class="col-md-6 col-sm-6 col-xs-6">   
<input style="-moz-appearance:radio" class="form-control form-control-lg" type="radio" id="rodzaj" name="rodzaj" value="beta" />
</div>
<div class="col-md-6 col-sm-6 col-xs-6">   
beta
</div>
</div>
<div class="col-md-12 col-sm-12 col-xs-12">
<div class="col-md-6 col-sm-6 col-xs-6">	
<input style="-moz-appearance:radio" class="form-control form-control-lg" type="radio" id="rodzaj" name="rodzaj" value="ceta" />
</div>
<div class="col-md-6 col-sm-6 col-xs-6">	
Ceta
</div>
</div>
</div>	

Tu też ok. Chyba...

contact.php

...
    //RODZAJ
     if(isset($_POST['submit']))
      {
       /*other variables*/
       $rodzaj = $_POST["rodzaj"];
      }
...
$Body .= "Rodzaj: ";
$Body .= $rodzaj;
$Body .= "\n";

main.js no ale tu to leżę starałem się jakoś dodać rodzaj, ale jestem noga

	});
	function submitForm(){
		var name = $("#name").val();
		var email = $("#email").val();
		var msg_subject = $("#msg_subject").val();
		var message = $("#message").val();	
		var rodzaj = $(".rodzaj:checked").val();

		$.ajax({
			type: "POST",
			url: "assets/contact.php",
			data: "name=" + name + "&email=" + email + "&msg_subject=" + msg_subject + "&message=" + message + "&rodzaj=" + rodzaj,
			success : function(text){
				if (text === "success"){
					formSuccess();
				} else {
					formError();
					submitMSG(false,text);
				}
			}
		});
	}

W otrzymanej wiadomości nie wyświetla się rodzaj... dlaczego?

1

Problem polega na tym, że kod szuka klasy rodzaj a inputy takowej nie mają.

cmichalska napisał(a):
		var rodzaj = $(".rodzaj:checked").val();

zmień na kod poniżej

		var rodzaj = $("input[name='rodzaj']:checked").val();
0

Słuszna uwaga i przyzwoicie ta poprawka wyglądała, ale sprawdzałem

 var rodzaj = $("input[name='rodzaj']:checked").val();

i tą

 var rodzaj = $("#message:checked").val();

i tą:

var rodzaj = $("input[name='rodzaj']").val();

i tą:

var rodzaj = $("#rodzaj").val();

i nic, dalej na mail przychodzą wypełnienia tylko z:

Imię: qewewq
Email: [email protected]
Rodzaj:
Subject: qweweqw
Message: qweqweqweqrqwe

a Rodzaj pusty... nie dochodzi zaznaczenie

a czy tu jest ok?

		$.ajax({
			type: "POST",
			url: "assets/contact.php",
			data: "name=" + name + "&email=" + email + "&msg_subject=" + msg_subject + "&message=" + message + "&rodzaj=" + rodzaj,
			success : function(text){
				if (text === "success"){
					formSuccess();
				} else {
					formError();
					submitMSG(false,text);
				}
			}
		});
	}
0

@cmichalska: Nie widzę innych problemów.
Pokaż cały kod tu lub PW.

Jeszcze mała uwaga.
Zamiast wklepywania danych do data użyj.

data: $( "form" ).serialize(),
0

Spoko już sobie poradziłem, pierwsza odpowiedź była prawidłowa, tylko w ajaxie zamiast name wpisywałem id,

1 użytkowników online, w tym zalogowanych: 0, gości: 1