虽然我收到的电子邮件正确但显示的消息是错误消息。为什么会发生?
$(document).ready(function(){
$("#send").click(function(){
var name = $("#name").val();
var email = $("#email").val();
var message = $("#message").val();
$.ajax({
type: "POST",
url : "contact.php",
data: "&name=" + name + "&email=" + email + "&message=" + message,
success: function(data){
if(data == 'success'){
$("#mail_success").delay(500).fadeIn(500);
$("#send").attr({"disabled" : "true", "value" : "Message Sent" });
}else{
$("#mail_failed").delay(500).fadeIn(500);
$("#send").attr({"disabled" : "false", "value" : "The Message was not Sent" });
}
}
}
);
}
return true;
});
});
答案 0 :(得分:0)
在我看来,在成功发送时,您正在删除“已禁用”属性,而不是添加它。此外,您应该考虑使用其他标记,而不是“提交”输入类型,因为您将覆盖默认的behviour。
答案 1 :(得分:-1)
从技术上讲,disabled
不是属性,而是属性。因此,您不应使用removeAttr("disabled")
启用该按钮。请改用prop("disabled", false)
。要在单击按钮时禁用该按钮:
$("#send").click(function() { //When the button is clicked...
$(this).prop("disabled", true); //...disable the button.
...
显示成功消息:
if(data == 'success') { //If it was successfull...
$("#mail_success").fadeIn(500); //...display the message.
...
您在</div>
之前也错过了</form>
。最后,由于您要覆盖按钮提交行为(如@Mark所指出),您应该使用<input type="button">
而不是<input type="submit">
。