我刚创建了一个x-editable表单:
<a href='#' class='username'
data-pk='<?php echo $key['idca']; ?>'
data-type="text"
data-placement="right"> <?php echo $key['categoryname']; ?> </a>
然后我创建了Javascript函数来处理x-editable表单:
$.fn.editable.defaults.success = function() { $(this).show() };
$.fn.editable.defaults.mode = 'inline';
$('.username').editable({
url:'edit.php',
pk:'1',
type:'text',
send:'always',
ajaxOptions:{
dataType:'json'
},
success: function(response, newValue) {
window.alert('oke');
},
error: function(response, newValue) {
window.alert('failed');
}
});
在PHP中我只创建如下:
<?php
$pk = $_POST['pk'];
$val = $_POST['value'];
$name = $_POST['name'];
print_r($_POST);
?>
但为什么我在窗口提醒时收到消息“未定义索引pk,值,名称”,这意味着我无法从x-editable发布pk,value,name ...
需要帮助,非常感谢
答案 0 :(得分:0)
给出以下HTML
<a href="#" class="username"
data-pk="<?php echo $key['idca']; ?>"
data-type="text"
data-placement="right"
>
<?php echo $key['categoryname']; ?>
</a>
你可以使用这个jQuery:
$.fn.editable.defaults.success = function() { $(this).show() };
$('#username').editable({
type: 'text', // optionnal if you've set up the data-type attribute
pk: $(this).data('pk'), // optionnal if you've set up the data-pk attribute
url: 'edit.php', // mandatory
title: 'Enter username'
});
这应该有效as per the documentation。您无需亲自执行$.ajax({});
。
答案 1 :(得分:0)
有点晚了,但是当你回复时你应该使用json_encode,因为x-editable希望你用json字符串返回。
$pk = $_POST['pk'];
$val = $_POST['value'];
$name = $_POST['name'];
echo json_encode($_POST);
die();