mam w html formularz z polami, niektóre pola mają zadeklarowane w sobie, że są required... wszystko działało dopóki nie dodałem ajax żeby wysłąć maila bez przeładowania strony.
Kod
<form id="contact_form" action="" method="POST">
Przykładowe pole wygląda tak:
Kod
<label for="username"> </label>
<input type="text" id="username" name="username" placeholder="Imię i nazwisko" required />
<input type="text" id="username" name="username" placeholder="Imię i nazwisko" required />
To dodałem:
Kod
$(document).ready(function(){
$("#sendmail").click(function(){
var username = $("#username").val();
var usermail = $("#usermail").val();
var subject = $("#subject").val();
var message = $("#message").val();
var datastr = 'username=' + username + '&usermail=' + usermail + '&subject=' + subject + '&message=' + message + '&type=' + 'contact';
send(datastr);
return false;
});
});
function send(datastr){
$.ajax({
type: "POST",
url: "http://localhost/martamorawiecka/website_v.3.0/trunk/web/app_dev.php/test",
data: datastr,
cache: false
});
}
$("#sendmail").click(function(){
var username = $("#username").val();
var usermail = $("#usermail").val();
var subject = $("#subject").val();
var message = $("#message").val();
var datastr = 'username=' + username + '&usermail=' + usermail + '&subject=' + subject + '&message=' + message + '&type=' + 'contact';
send(datastr);
return false;
});
});
function send(datastr){
$.ajax({
type: "POST",
url: "http://localhost/martamorawiecka/website_v.3.0/trunk/web/app_dev.php/test",
data: datastr,
cache: false
});
}
Po usunięciu tego wszystko wraca do normy. Dla mnie to sprawa magiczna, bo z js nie mam takiego doświadczenia.
Czemu tak się dzieje i jak to naprawić?
Zauważyłem, że po wywaleniu
Kod
return false;
required wraca do normy, ale wtedy działa to z przekierowaniem... a tak nie może być.