У меня очень простая HTML-форма. Форма связана с файлом PHP, поэтому он отправляет мне результаты по электронной почте. Но у меня проблема с переключателями. Независимо от того, какой переключатель выбран пользователем, в письме всегда указывается, что пользователь выбрал первый переключатель.Моя форма всегда отправляет первый вариант
Я провел некоторое исследование, и я думаю, что мне нужно написать «echo $ gender»; в файле PHP где-то. Я пробовал это, и Dreamweaver всегда отмечает это как синтаксическую ошибку.
Здесь важно код:
HTML:
<form>
<input type="radio" name="gender" id="gender" value="female" /> Female<br>
<input type="radio" name="gender" id="gender" value="male" checked /> Male<br>
</form>
Javascript:
$(function() {
$("input,textarea").jqBootstrapValidation({
preventSubmit: true,
submitError: function($form, event, errors) {
// additional error messages or events
},
submitSuccess: function($form, event) {
// Prevent spam click and default submit behaviour
$("#btnSubmit").attr("disabled", true);
event.preventDefault();
// get values from form
var gender = $("input#gender").val();
$.ajax({
url: "././mail/contact_me.php",
type: "POST",
data: {gender: gender},
cache: false,
success: function() {
// Enable button & show success message
$("#btnSubmit").attr("disabled", false);
$('#success').html("<div class='alert alert-success'>");
$('#success > .alert-success').html("<button type='button' class='close' data-dismiss='alert' aria-hidden='true'>×")
.append("</button>");
$('#success > .alert-success')
.append("<strong>Your message has been sent. </strong>");
$('#success > .alert-success')
.append('</div>');
//clear all fields
$('#contactForm').trigger("reset");
},
error: function() {
// Fail message
$('#success').html("<div class='alert alert-danger'>");
$('#success > .alert-danger').html("<button type='button' class='close' data-dismiss='alert' aria-hidden='true'>×")
.append("</button>");
$('#success > .alert-danger').append("<strong>Sorry, it seems that my mail server is not responding. Please try again later!");
$('#success > .alert-danger').append('</div>');
//clear all fields
$('#contactForm').trigger("reset");
},
})
},
filter: function() {
return $(this).is(":visible");
},
});
$("a[data-toggle=\"tab\"]").click(function(e) {
e.preventDefault();
$(this).tab("show");
});
});
PHP:
<?php
$gender = $_POST['gender'];
// Create the email and send the message
$to = '[email protected]';
$email_subject = "New message from contact form";
$email_body = "Gender: $gender \n\nPress 'reply' to respond to the sender.";
$headers = "From: [email protected]\n";
return true;
?>
Ну .. вы используете синтаксис JQuery там, а не PHP ... Пожалуйста, пост больше кода. И зачем вам нужно писать $ room_type? Что это значит? Пол? Я смущен: p – entiendoNull
Извините, моя ошибка. Я хотел набрать «пол», а не «room_type». –
И как вы отправляете эту форму? По AJAX? Это 'var gender = $ (" input # gender "). Val();' не PHP - это JavaScript (jQuery). Как выглядит ваш PHP-скрипт? – entiendoNull