Benim html kodum e-posta göndermek için php'ye istek gönderir. Benim durumumda e-posta Google Chrome & Edge'de gönderilebilir, ancak type = button değiştirdiğimde button = submit değerini ayarladığımda Firefox'ta değil, iyi çalışıyor. Benim javascript kodudur:Firefox'ta sunucu isteğinde hata oluştu = type for button
function Send() {
var allset = true;
var namevalid = true;
var emailvalid = false;
var commentvalid = false;
var sent = 0;
var emailPattern = /^[a-zA-Z0-9._-][email protected][a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/;
if ($("#email").val() == '' || $("#email").val() == null) {
$("#email").addClass("invalid");
allset = false;
}
else {
if (!$("#email").val().match(emailPattern)) {
$("#email").removeClass("valid");
$("#email").addClass("invalid");
allset = false;
}
else {
emailvalid = true;
$("#email").addClass("valid");
}
}
if ($("#comment").val() == '' || $("#comment").val() == null) {
$("#comment").addClass("invalid");
allset = false;
}
else {
commentvalid = true;
$("#comment").addClass("valid");
}
$("#name").addClass("valid");
if (namevalid === true && emailvalid === true && commentvalid === true) {
var name = document.getElementById("name").value;
var email = document.getElementById("email").value;
var number = document.getElementById("number").value;
var demo = document.getElementById("sel1").value;
var comment = document.getElementById("comment").value;
alert("Request Successfully Received");
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (xhttp.readyState == 4 && xhttp.status == 200) {
alert(xhttp.responseText)
}
};
sent = 1;
xhttp.open("POST", "email.php?" + "name=" + name + "&mail=" + email + "&phone=" + number + "&msg=" + comment + "&demo=" + demo, true);
xhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xhttp.send();
}
else
{
alert("Please fill all the fields correctly");
}
}
formun düğme için My html:
<form class="form" id="form1">
<p class="name">
<input name="name" type="text" class="validate[required,custom[onlyLetter],length[0,100]] feedback-input" placeholder="Name" id="name" />
</p>
<p class="email">
<input name="email" type="text" class="validate[required,custom[email]] feedback-input" id="email" placeholder="Email" />
</p>
<p class="number">
<input type="text" name="telephone" maxlength="30" class="feedback-input" size="30" id="number" placeholder="Number">
</p>
<p class="number" id="demotype">
<select class="form-control feedback-input demotype" id="sel1" name="demo">
<option> something </option>
</select>
</p>
<p class="text">
<textarea name="text" class="validate[required,length[6,300]] feedback-input" id="comment" placeholder="Comment"></textarea>
</p>
<div class="submit">
<input type="submit" id="button-blue" onclick="Send()" value="Send" />
<div class="ease"></div>
</div>
</form>
Firefox'ta Send() işlevi yürütülmüyor mu diyorsunuz? Ya da 'email.php' beklendiği gibi çalışmıyor mu? Sorunuzu dillendirdiğinizden net değil. Yayınlanan kodu mümkün olduğunca basitleştirmelisiniz. Sorunu anlamak için kritik olmayan tüm parçaları çıkartın ve bir jsfiddle kullanın. Gönder düğmesine 'name =' submitbutton 'ekleyin. Formunuza 'method = 'POST' ekleyin. Php'nize var_dump ($ _ POST, $ _GET) ekleyin. Bir AJAX'a ihtiyaç duymadan sorunu sunmaya çalışın. – bg17aw
Vanilla javascript'i jQuery ile karıştırmanın sebebi nedir? Neden tüm kod için jQuery sözdizimini ve yöntemlerini kullanmıyorsunuz? Sizin için en kolay ve çapraz tarayıcı uyumluluk için güvenlidir. –