jqGrid的编辑弹出秀场null值(Jqgrid edit popup show   in Fie

2019-10-17 16:57发布

我使用的jqGrid上市和基本的CRUD操作。 在页面的一个不存在的形式在许多领域可为空。 当添加的实体时,一些值留空,这样可以节省用空的分贝这些领域(这是罚款)。 但是,当同场的jqGrid编辑弹出编辑,这些字段包含文本框。 我怎么解决这个问题

下图是我在网格,并选择编辑单击某行出现的更新对话框

更新2
我没有jqgrid.editform.js但奥列格提到的代码是jquery.JQGrid.min.js直接存在。 我删除了线路和现在的代码如下所示

switch(C[G].edittype)
{
    case "password":
    case "text":
    case "button":
    case "image":
    case "textarea":
        if(A==" "||A==" "||(A.length==1 && A.charCodeAt(0)==160)) {
            A = "";
            alert("here");
        }
        alert(A);
        a("#"+r,"#"+v).val(A);
        break;
    case "select":

我已经放了两个警报消息,如果执行的代码路径来检查,但运行页面时,我发现没有任何警报。 可能是什么错在这里。

谢谢

Answer 1:

我想你应该只使用相应的editoptions选项来解决这个问题:

editoptions: {NullIfEmpty: true}

更新 :如果我理解正确的问题,现在你可以使用beforeSubmitonclickSubmit形式编辑的回调修改或从删除所有空值postdata参数。 比如,你可以使用for-in循环来列举的所有属性posdata 。 如果某些参数的值是空的,您可以使用delete删除属性或使用= null来改变空字符串null 。 在这两种情况下,你应该有null的空编辑值的值。

更新2:您使用的版本3.6.5真的是很老了 。 幸好我有我的档案中jqGrid的版本。 我希望你的问题的原因是在旧版本的代码错误。 如果您使用的jqGrid的非最小化版本,你可以打开grid.formedit.js文件并删除行832-833:

$("#"+nm,"#"+fmid).val(tmp);
break;

之间case "image":case "textarea": 该代码看起来应该jqGrid的当前版本:看这里 。 要修复的jqGrid的最小化版本,你应该搜索的文字问题case "button":case "image":和删除a("#"+r,"#"+v).val(A);break; 这是后直接case "button":case "image":与之前case "textarea":



文章来源: Jqgrid edit popup show   in Fields having null values