我不是很擅长jQuery,但决定在我的网站上使用jEditable插件,因为我认为它看起来不错并且解决了目的.但是,我现在有点纠结.
我使用这个插件编辑数据,编辑后的数据被发送到数据库,一些字段由它更新.更新这些字段的存储过程将返回一些数据.我想把这些数据还给我.我想首先在'alert'语句中看到返回的数据,然后我可以从那里获取它.
这个插件的回调方法只有值和设置.
有没有办法在使用这个插件时从服务器端获取一些数据?
mad*_*kay 14
我已经为我的网站做了这个.这应该让你开始.
$("#editable_text").editable(submitEdit, {
indicator : "Saving...",
tooltip : "Click to edit...",
name : "Editable.FieldName",
id : "elementid",
type : "text",
});
function submitEdit(value, settings)
{
var edits = new Object();
var origvalue = this.revert;
var textbox = this;
var result = value;
edits[settings.name] = [value];
var returned = $.ajax({
url: "http://URLTOPOSTTO",
type: "POST",
data : edits,
dataType : "json",
complete : function (xhr, textStatus)
{
var response = $.secureEvalJSON(xhr.responseText);
if (response.Message != "")
{
alert(Message);
}
}
});
return(result);
}
Run Code Online (Sandbox Code Playgroud)
您需要返回表单的Json响应
{"消息"="FOO"}
这将显示在警报中.
我一直在努力尝试解决这个问题的经典ASP,并认为像我这样的其他人也可能会在这里结束.以下是我在经典ASP中解决这个问题的方法:
服务器验证失败...来自whatever.asp的响应
<%
response.status "406 Not Acceptable"
response.write "error message here"
response.end
%>
Run Code Online (Sandbox Code Playgroud)
无论what.asp发送的任何错误消息都可以通过访问onerror:,该字段将重置为原始值.
$("#editable_text").editable("whatever.asp", {
indicator : "Saving...",
tooltip : "Click to edit...",
type : "text",
onerror: function (settings, original, xhr) {
original.reset();
//do whatever you want with the error msg here
alert(xhr.responseText);
}
});
Run Code Online (Sandbox Code Playgroud)
(如果值通过服务器验证,只需响应.写任何更新的值)
您提交更新的 URL(将是某种动态页面,例如 PHP、JSP、Java servlet 等)是否将存储过程的返回值添加到响应中?如果是这样,我希望数据显示在它们传递给回调的“值”字段中。
当我使用 jEditable 在线演示时,响应仅包含更新的文本,但这是他们正在使用的特定 PHP 代码的函数,与 jEditable javascript 代码没有任何关系。
| 归档时间: |
|
| 查看次数: |
9254 次 |
| 最近记录: |