我有一个页面联系人。我的模板中的联系人表单的php。我想在表单中添加jquery验证和一些奇特的ajax操作。这已经是一个简单PHP页面中的工作代码,但在wordpress中工作失败。
我的联系方式:
<form id="contact_form" method="POST" action="" enctype="application/x-www-form-urlencoded" novalidate="novalidate">
<input type="text" name="name" maxlength="30" id="name" placeholder="Your name">
<input type="text" name="email" maxlength="30" id="email" placeholder="Your email">
<textarea rows="2" cols="40" name="message" id="message" placeholder="Your message"></textarea>
<input type="text" id="phone" name="phone" size="15" placeholder="Please do not fill your phone number">
<input type="submit" id="click" class="button" value="Submit">
<div id="loading_icon"><img src="/wp-content/themes/owlish/img/loading.gif" alt="loading"></div>
<div id="response"></div>
</form>
函数中的ajax函数。phpadd_action(\'wp_ajax_sendmail\', \'sendmail\');
add_action(\'wp_ajax_nopriv_sendmail\', \'sendmail\');
function sendmail() {
if(isset($_POST[\'Submit\'])) {
echo \'ajax success\';
} else {
echo "<p class=\'error\'>nothing submitted</p>";
}
die();
}
和我的javascript操作:$(document).ready(function(){
$("#contact_form").validate({
rules: {
name: "required",
email: {
required: true,
email: true
},
message: "required"
},
messages: {
name: "Please enter your name",
email: {
required: "Please enter your email adress",
email: "Please enter your valid email adress"
},
message: "Please enter a short message, what your inquiry is about"
},
submitHandler: function(form) {
$(\'#loading_icon\').show();
$(\'#click\').hide();
var params = $(form).serialize();
$.ajax ({
type: \'POST\',
url: \'<?php echo admin_url( \'admin-ajax.php\' ); ?>\',
data: params,
success: function(response) {
$(\'#response\').hide();
$(\'#response\').html(response);
$(\'#response\').fadeIn(\'slow\');
$(\'#loading_icon\').hide();
}
});
}
});
});
正确加载了所需的文件(/1.10.1/jquery.min.js,jquery.validate.js),但是,尽管我wp_ajax_nopriv_sendmail
在函数中。php。控制台不会返回任何错误。我相信我遗漏了一些wp特定的事实,但哪一个?提前感谢