在刷新页面之前,我似乎无法从我的jEditable表单中获取提交的值以显示在我的网站上。但它确实正确地更新了MySQL数据库。我正在使用PHP和MySQL。
有没有人可以解释我如何在不刷新页面的情况下使用jEditable进行更新?
PHP操作页
if($_POST["issue_edit"]){
mysql_query("UPDATE timeline SET comment='".$_POST["issue_edit"]."' WHERE ticket='".$_POST["id"]."' AND issue='1'");
echo $_POST["issue_edit"];
// header("location: ../?".$query."");
}
主页
<script>
$(document).ready(function() {
$('.edit<?php echo $ticket["id"]; ?>').editable('http://www.4dcreative.co.uk/support/tickets/action/index.php', {
type : 'textarea',
cancel : 'Cancel',
submit : 'OK',
name : 'issue_edit',
onblur : 'ignore'
});
});
</script>
<label>Issue:</label><p class="edit<?php echo $ticket["id"]; ?>" id="<?php echo $ticket["id"]; ?>"><?php
while($timeline_stub = mysql_fetch_array($timeline)) {
if($timeline_stub["type"]=="issue"){
echo nl2br($timeline_stub["comment"]);
}
}
?></p>
答案 0 :(得分:0)
我不希望输入的任何文本被传递为issue_edit
参数丢失...
也许这是以前版本的Jeditable的行为?事实上,我有一个类似但有点相反的问题,我有很多字段,用户可以输入一个数字,但我想用'格式'值更新数字(例如“1,000.00”而不是“1000” )。
要更新页面而不刷新 - 并且在Jeditable插件向指定的“提交URL”发出请求之后 - 您需要在调用{{1}的callback
选项参数中提供一个函数插件功能。这是我自己的代码中的示例回调函数:
editable
在提交URL处理请求的代码返回一个具有function (result) {
if (result.status == 'Success') {
thisAmountElement.className += ' success';
$(thisAmountElement).text(result.formattedAmount);
}
else
thisAmountElement.className += ' danger';
}
和status
属性的JSON对象。 [formattedAmount
属性包含Jeditable提交的新金额,但使用相同的服务器端代码格式化,格式化页面上的所有其他金额。]