我是ajax的新手,但我真的想学习。我已经建立了一个通过ajax提交的表格(强大的专业版)。在提交按钮中我有onclick功能:
<div class="frm_submit">
<input id="btn-max-hyp" onclick="add_customer()" type="submit" value="[button_label]" [button_action] />
<img class="frm_ajax_loading" src="[frmurl]/images/ajax_loader.gif" alt="Sending"/>
</div>
我的自定义js文件:
jQuery(document).ready(function($){
$('#form_maxhyp').on("submit", add_customer);
function add_customer () {
var form_maxhyp = $(this).serialize();
$.ajax({
type:"POST",
url: frontendajax.ajaxurl,
data: form_maxhyp,
success: function(data)
{
$("#test").html(data);
}
});
return false;
}
});
&#13;
最后我的function.php中的代码
<?php
add_action( 'wp_enqueue_scripts', 'add_frontend_ajax_javascript_file' );
function add_frontend_ajax_javascript_file()
{
wp_enqueue_script( 'ajax_custom_script', get_stylesheet_directory_uri() . '/ajax-javascript.js', array('jquery') );
wp_localize_script( 'ajax_custom_script', 'frontendajax', array( 'ajaxurl' => admin_url( 'admin-ajax.php' )));
}
add_action('wp_ajax_add_customer', 'add_customer');
add_action('wp_ajax_nopriv_add_customer', 'add_customer');
function add_customer($entry_id, $form_id)
{
if ( $form_id == 6 )
{
global $wpdb, $frmdb;
$form1 = '6';
$value = $_POST['item_meta'][222];
/* a lot of if and else statements */
/* Echo values */
echo "'".$value. "'";
}
die();
}
&#13;
我想将值设置为div。 在控制台日志中,我收到一个错误:ReferenceError:未定义add_customer。
可能它是一件非常简单的东西,我只是没有看到。我在这里做错了什么?
答案 0 :(得分:0)
在您的自定义js文件中,您有:
jQuery(document).ready(function($){
$('#form_maxhyp').on("submit", add_customer);
在这种情况下,add_customer
被读作变量。
将其更改为:
jQuery(document).ready(function($){
$('#form_maxhyp').on("submit", add_customer());
调用你的函数!