gpt4 book ai didi

jeditable - 使用jeditable提交之前如何访问旧值和新值

转载 作者:行者123 更新时间:2023-12-03 22:09:02 24 4
gpt4 key购买 nike

我有一个由jeditable更新的字段。如果要减小值(这会导致数据丢失),但如果要增加值,我想在提交更新之前输出警告消息。

这似乎是jeditable的onsubmit函数的不错选择,我可以很高兴地触发它。我可以从$('input',this).val()获取新值,但是在这种情况下如何获取与之比较的原始值呢?

...

自发布上述解释/问题以来,我已经提出了各种解决方案。通过更改jquery.ready中的调用

$('#foo').editable(...);


$('#foo').hover(function(){
var old_value = $(this).text();
$(this).editable('ajax.php', {
submitdata {'old_value':old_value}
});
});

我可以在onsubmit方法中使用settings.submitdata.old_value。

但是肯定有更好的方法吗?可编辑的仍然必须保留旧值,以便能够还原它。因此,问题就变成了如何从onsubmit函数访问它?

非常感谢您的任何建议。

最佳答案

这是我的可编辑内容(它使用的是SubmitEdit函数):

   $(function () {
$('.editable').editable(submitEdit, {
indicator: '<img src="content/images/busy.gif">',
tooltip: '@Html.Resource("Strings,edit")',
cancel: '@Html.Resource("Strings,cancel")',
submit: '@Html.Resource("Strings,ok")',
event: 'edit'
});
/* Find and trigger "edit" event on correct Jeditable instance. */
$(".edit_trigger").bind("click", function () {
$(this).parent().prev().trigger("edit");
});
});

在submitEdit中, 原始值是编辑之前的原始值
    function submitEdit(value, settings) {
var edits = new Object();
var origvalue = this.revert;
var textbox = this;
var result = value;

// sb experiment
var form = $(this).parents('form:first');
// end experiment

edits["field"] = form.find('input[name="field"]').val();
edits["value"] = value;
var returned = $.ajax({
url: '@Url.Action("AjaxUpdate")',
type: "POST",
data: edits,
dataType: "json",
complete: function (xhr, textStatus) {
// sever returned error?
// ajax failed?
if (textStatus != "success") {
$(textbox).html(origvalue);
alert('Request failed');
return;
}

var obj = jQuery.parseJSON(xhr.responseText);
if (obj != null && obj.responseText != null) {
alert(obj.responseText);
$(textbox).html(origvalue);
}
}
});
return (result);
}

关于jeditable - 使用jeditable提交之前如何访问旧值和新值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4840007/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com