我以前曾帮助here为一些复选框制作一个通用的Ajax函数。我现在正在尝试将该项目集成到Wordpress站点并遇到一些问题。
这是我目前的代码:
<label class="rep_label"><input type="checkbox" id="goal1<?php get_current_user_id() ?>" name="GOAL_1_HIT" value="1" <?php if($rep_goal1_hit == 'YES'){echo "checked";}?> />
<?php echo $rep_goal1; ?></label>
<br />
<label class="rep_label"><input type="checkbox" id="goal2<?php echo get_current_user_id() ?>" name="GOAL_2_HIT" value="1" <?php if($rep_goal2_hit == 'YES'){echo "checked";}?> />
<?php echo $rep_goal2; ?></label>
<br />
<label class="rep_label"><input type="checkbox" id="goal3<?php echo get_current_user_id() ?>" name="GOAL_3_HIT" value="1" <?php if($rep_goal3_hit == 'YES'){echo "checked";}?> />
<?php echo $rep_goal3; ?></label>
<br />
<label class="rep_label"><input type="checkbox" id="incentive<?php echo get_current_user_id() ?>" name="INCENTIVE_HIT" value="1" <?php if($rep_incentive_hit == 'YES'){echo "checked";}?> />
<?php echo $rep_incentive; ?></label>
JS / Ajax的
jQuery(document).ready(function($) {
$("input[type=checkbox]").change(function() {
var $input = $(this);
$.ajax({
url: 'checkbox.php',
type: 'POST',
data: { db_column:$input.attr("name"), strState:$input.is(":checked"), user:"<?php echo $current_user->ID; ?>" },
success: function() { // this happens after we get results
$input.attr('checked', true);
},
error:function(){
$input.attr('checked', false);
}
});
});
});
PHP
<?php
$db_column = $_POST['db_column'];
$strState = $_POST['strState'];
$user = $_POST['user'];
if(set_cimyFieldValue('$user', '$db_column', '$strState')){
echo "ok";
} else {
echo "error";
}
?>
我的javascript上出现了“意外的输入结束”错误,我已无休止地搜索无效。
我在html中有脚本并且Ajax调用甚至没有被触发所以我将它移动到.js文件并将其包含在同一位置,现在ajax调用,但在php上返回404文件。
这只是阿贾克斯的冰山一角,我将不得不实施。在Wordpress中使用自己的Ajax函数需要注意哪些一般注意事项?
如果有人熟悉Cimy额外用户字段,我只是想为该插件提供的字段创建一个ajax驱动的前端。我想在我的php文件中尝试使用插件函数时遇到问题...
答案 0 :(得分:-1)
data: ({ db_column:$input.attr("name"), strState:$input.is(":checked"), user:"<?php echo $current_user->ID; ?>" })