Обязательный атрибут и кнопка отправки формы

Это мой код:

index.php

<form action="">
<input placeholder="Name" class="form" id="nome" type="text" required/>
<input placeholder="Mail" class="form" id="mail" type="email" required />
<input placeholder="Object" class="form" id="oggetto" type="text" required />
<textarea placeholder="Message" id="text" class="form"></textarea>
<input class="formBtn" type="submit" id="submit"/>
<input class="formBtn" type="reset" />

скрипт в index.php

    <script>
$('#submit').click(function() {
var nameform = $('#name').val();
var mailform = $('#mail').val();
var objectform = $('#object').val();
var textform = $('#text').val();
var mailcomplete = 'Name='+nameform+'&Mail='+mailform+'&Object='+objectform+
'&Message='+textform;

$.ajax({
type: "POST",
url: 'php/mail.php',
data: mailcomplete,
success: function() {
alert("Well Done!");
}

});
});

mail.php

    <?php

$name = $_POST['Name'];
$mail = $_POST['Mail'];
$object = $_POST['Object'];
$message = $_POST['Message'];

mail("mail@mail.it", $object, $message,
"From: $mail\r\n" .
"Reply-To: $mail\r\n" .
"X-Mailer: PHP/" . phpversion());

?>

С этим кодом я могу отправлять почту, если все поля тоже пустые.
Я бы добавил элемент управления для отправки почты, когда все поля соответствуют обязательным атрибутам.
Так много тебе! до свидания

0

Решение

Это произойдет потому, что при нажатии кнопки «Отправить» выполняется вызов ajax, чтобы предотвратить это. Воспользуйтесь событием «Отправить», касающимся формы в jquery, вы можете сделать это по своему усмотрению, используя следующий код.

Сначала добавьте идентификатор в форму, как показано ниже:

<form action="" id="formId">
<input placeholder="Name" name="Name" class="form" id="name" type="text" required/>
<input placeholder="Mail" name="Mail" class="form" id="mail" type="email" required />
<input placeholder="Object" name="Object" class="form" id="oggetto" type="text" required />
<textarea placeholder="Message" name="Message" id="text" class="form"></textarea>
<input class="formBtn" name="submit" type="submit" id="submit"/>
<input class="formBtn" name="reset" type="reset" />
</form>

Теперь для кода JQuery

 $(document).on('submit','#formId',function(e){
// this will prevent form to submit
e.preventDefault();
// data need to send can be get with javascript serialize()
var data = $("#formId").serialize();
// now go for ajax call
$.ajax({
type: "POST",
url: 'php/mail.php',
data: data,
success: function() {
alert("Mail inviata correttamente!");
}

});
})
0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector