Я пытаюсь отправить форму с помощью ajax, чтобы получить ответ php на той же странице (http://www.fischer -club.ch / index.php / langschiffrennen / anmeldung ).Я работаю в Joomla с Helix 3 Framework, версия JQuery 1.12.4.Фреймворк helix 3 использует Bootstrap 3. Вот мои загруженные скрипты:
jquery.min.js?946c71418cf2f59c7cca40b0f1100272
jquery-noconflict.js?946c71418cf2f59c7cca40b0f1100272
jquery-migrate.min.js?946c71418cf2f59c7cca40b0f1100272
caption.js?946c71418cf2f59c7cca40b0f1100272
shaper_helix3/js/bootstrap.min.js
shaper_helix3/js/jquery.sticky.js
shaper_helix3/js/main.js
Форма проходит сначала через php, а не через ajax, я действительно не понимаю, почему (я не получаю ошибки из консоли).Есть ли у меня конфликт в различных сценариях JS?Также на моем сайте не работают загрузочные всплывающие окна.
HTML:
<div id="Response"></div>
<form id="AnmeldungLangschiff" action="/pathto/Anmeldung_Langschiff.php" method="POST">
<p><label>Name des Teams</label><input style="width: 300px;" placeholder="Teamname" type="text" name="team_name" required="" /></p>
<p><label>Teamverantwortlicher</label><input style="width: 300px;" placeholder="Vorname Name" type="text" name="teamverantwortlicher" required="" /></p>
<p><label>Email</label><input type="email" style="width: 300px;" placeholder="vorname.name@email.com" name="email_addresse" required="" /></p>
<p><label>Telefon</label><input type="tel" style="width: 300px;" placeholder="+41 79 444 44 44" name="telefon" /></p>
<p><label>Teilnahme an Training</label><br /><input type="radio" name="trainingsteilnahme" value="Ja" checked="checked" /> Ja<br /><label><input type="radio" name="trainingsteilnahme" value="Nein" /> Nein<br /></label></p>
<p><label>Kommentar<textarea style="width: 300px; height: 100px;" name="kommentar" maxlength="500"></textarea></label></p>
<p><button type="submit">Verschicken</button></p>
<p> </p>
</form>
Javascript:
<script type="text/javascript">
$(document).ready(function() {
var frm = $('#AnmeldungLangschiff');
frm.submit(function (e) {
e.preventDefault();
$.ajax({
type: frm.attr('method'),
url: frm.attr('action'),
data: frm.serialize(),
success: function (data) {
$( "#Response" ).html(data);
},
error: function (data) {
$( "#Response" ).html(data);
},
});
});
});
</script>
PHP:
<?php
/*
PHPMailer laden
*/
use PHPMailer\PHPMailer\PHPMailer;
require '/is/htdocs/www/PHPMailer/src/PHPMailer.php';
/*
Wem wird die Form per Email zugestellt?
*/
$empanger_email = 'anymail@gmail.com';
/*
Abholung der Forminformationen.
*/
$team_name = $_POST['team_name'] ;
$teamverantwortlicher = $_POST['teamverantwortlicher'] ;
$email_addresse = $_POST['email_addresse'] ;
$telefon = $_POST['telefon'] ;
$trainingsteilnahme = $_POST['trainingsteilnahme'] ;
$kommentar = $_POST['kommentar'] ;
/*
Verschicken der Email.
*/
$mail = new PHPMailer();
$mail->setFrom('anymail@fischer-club.ch');
$mail->addAddress($empanger_email);
$mail->Subject = 'Anmeldung';
$mail->isHTML(true);
$mail->Body = 'Ciao Seba<br>
Du hast eine Anmeldung zum Langschiffrennen erhalten:<br>
Name des Teams: ' . $team_name . ' <br>
Teamverantwortlicher: ' . $teamverantwortlicher . ' <br>
Email: ' . $email_addresse . ' <br>
Tel.: ' . $telefon . ' <br>
Teilnahme an Training: ' . $trainingsteilnahme . ' <br>
Kommentar: ' . $kommentar . ' <br>
Yves';
if (!$mail->send()) {
echo "Error";
} else {
echo "Message sent!";
}
?>