在我刷新页面之前,我似乎无法从我的 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>
最佳答案
我不希望输入的任何作为 issue_edit
参数传递的文本丢失 ...
也许这是以前版本的 Jeditable 的行为?事实上,我有一个类似但有些相反的问题,我有许多用户可以输入数字的字段,但我想用“格式化”值更新数字(例如“1,000.00”而不是“1000” ).
要在不刷新的情况下更新页面——并且在 Jeditable 插件向指定的“提交 URL”发出请求之后——您需要在调用 callback
选项参数时提供一个函数 editable
插件函数。这是我自己的代码中的示例回调函数:
function (result) {
if (result.status == 'Success') {
thisAmountElement.className += ' success';
$(thisAmountElement).text(result.formattedAmount);
}
else
thisAmountElement.className += ' danger';
}
处理提交 URL 请求的代码返回一个具有 status
和 formattedAmount
属性的 JSON 对象。 [formattedAmount
属性包含 Jeditable 提交的新金额,但使用与页面上所有其他金额相同的服务器端代码进行格式化。]
关于php - 如何从 jEditable 返回新值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10113098/