2

PRMS の編集

edit: { 

addCaption: "Add CDM",
bSubmit: "Submit",
bCancel: "Cancel",  
bClose: "Close",
saveData: "Data has been changed! Save changes?",
bYes: "Yes",
bNo: "No",
bExit: "Cancel",

//serializeEditData: serailize,  
//editData: {new_CDM_ID: function() { return $('#cdmID').val();} },  
closeOnEscape: true,  
recreateForm: true,  
width: '450',  
afterSubmit: function (response, postdata) {  
var result = jQuery.parseJSON(response.responseText);  
return [result.success, result.message, result.id];
//return [success, message, new_id]  

} 

質問

afterSubmitイベントでエラー メッセージをキャプチャし、 jqgridの編集フォームに表示することもできます。しかし、成功メッセージについては同じことが起こりません。キャプチャできますが、jqgrid の編集フォームに表示できません。成功メッセージを表示するために別のイベントを使用する必要がありますか?

私の要件は次のとおりです。

  1. エラーメッセージを赤色で表示 (動作中)
  2. 成功メッセージを緑色で表示 (動作していません)
4

3 に答える 3

1

@Gab からインスピレーションを得て、うまく機能する最終的なコードを次に示します。true に設定されている場合、closeAfterEdit では、上記のソリューションでメッセージが表示されなかったため、新しいダイアログを作成しました。

function(response) { if(response.status == 200)                                                                             
{ 
        jQuery.jgrid.info_dialog("Info","<div class=\"ui-state-highlight\" style=\"padding:5px;\">Record updated!</div>", 
                                    jQuery.jgrid.edit.bClose,{buttonalign:"right"});

        jQuery("#info_dialog").delay(3000).fadeOut();

        return [true,""];
    } 
}
于 2013-10-17T10:40:14.273 に答える
1

メソッド「afterSubmit」のドキュメントには、 「(success が true の場合、メッセージは無視されます)」と記載されています。

ハックを使用する必要があります。このコードを afterSubmit メソッドに配置します。:

if(response.status == 200){ 
      $(".topinfo").html("info message"); 
      var tinfoel = $(".tinfo").show();
      tinfoel.delay(3000).fadeOut();
      return [true,''];
} else {
      return [false,'error message'];
}

これは、jqGrid 4.4.1 のバージョンで機能します。

于 2012-09-29T06:40:03.067 に答える