0

jqGrid に問題があります。

ユーザー入力を検証するメソッドを追加しました。部門が存在する場合、「Department is Exist!」という警告メッセージが表示されます。

ここに私のjqGridコードがあります:

afterSubmit: function(response, postdata){
                    var res = $.parseJSON(response.responseText);
                    if (res === "1") {
                        return [false,"Department Already Exist"];
                    } else {
                        return [true,"Sucess"];
                    }
                }

そして私のphp addメソッド:

if($oper == 'add') {
 $deptid = $_POST['idms_department'];
 $deptnm = $_POST['department'];
 if(checkUser($deptnm) == "FALSE"){
   return "1";
 } else {
   $ins = "INSERT INTO ms_department(department) VALUES('$deptnm')";
    if(mysql_query($ins)){
        "Success INSERT msDept";
    } else {
        die("Failed : " .mysql_error());
    }
}
     mysql_close();
} else .... (another operation)

メッセージ自体は表示されません。afterSubmit メソッドを正しく使用するにはどうすればよいですか? ありがとう

アップデート

メソッドを次のように変更しました

  crudMessage = function(response,postdata){
                var res   = response.responseText; // response text is returned from server.
                 if (res === "1") {
                    return [false,"Department Already Exist"];
                } else {
                    return [true,"Sucess"];
                }
             }

次に、jqgrid 本体から afterSubmit を削除し、次の行を jqgrid ナビゲーションに追加します。

 jQuery("#departments").jqGrid('navGrid','#pager-departments',{edit:true,add:true,del:true}, {closeAfterEdit: true},{beforeShowForm: function(form) { $('#idms_department', form).hide(); },closeAfterAdd:true},{afterSubmit: crudMessage},{closeAfterSearch:true},{});

最新のphp構文は次のとおりです。

 include 'configuration.php';

 function checkDepartment($department){
   $query = "SELECT department FROM ms_department WHERE department ='$department' LIMIT 1";
   $result= mysql_query($query);
   return mysql_num_rows($result);
}

if($oper == 'add') {
 $deptid = $_POST['idms_department'];
 $deptnm = $_POST['department'];
 if(checkDepartment($deptnm) == 1){
      echo '1';
  } else {
    $ins = "INSERT INTO ms_department(department) VALUES('$deptnm')";
     if(mysql_query($ins)){
        "Success INSERT msDept";
       } else {
        die("Failed : " . mysql_error());
    }
  }
   mysql_close();
 } else 
   if($oper == 'edit'){ ....
4

1 に答える 1