我的代码的简化版本:
JS:
$(function() {
$("submit").click(function() {
var msg_to = $("#msg_to").val();
var dataString = 'msg_to=' + msg_to;
$.ajax({
type: "POST",
url: "sendmessage.php",
data: dataString,
success: function(){
$('.success').fadeIn(200).show();
$('.error').fadeOut(200).hide();
}
});
return false;
});
});
HTML
<form method="post" name="form">
<label class="label-left" for="msg_to">Message to</label>
<input name="msg_to" id="msg_to" type="text">
<input type="submit" value="" class="submit" />
php文件将表单邮寄到我的电子邮件中,当我将表单发布到PHP文件时,这确实有效。通过jquery,它将无法正常工作。任何人都可以在我的代码中找到错误吗?
答案 0 :(得分:4)
$("submit")
应该是:
$(".submit")
第一个查找<submit>
标记。
答案 1 :(得分:3)
试试这个:
$(document).ready(function() { // use document query selector then test for ready state
$(".submit").click(function() { // submit query selector should have class "."
var msg_to = $("#msg_to").val();
var dataString = "msg_to=" + msg_to;
$.ajax({
type: "POST",
url: "sendmessage.php",
data: dataString,
success: function() {
$(".success").fadeIn(200); // no need for show()
$(".error").fadeOut(200); // no need for hide()
}
});
return false;
});
});
答案 2 :(得分:0)
有效!这是@Vulcan的解决方案和@Jacedc的组合,我错误地在上面的脚本之后导入了jquery ..