2017-04-21 23 views
0

私はこのjqgridコードを以下に示しています。私はその中に画像を持ち、同時に私の使用している機能を持っています。しかし、私のjqgrid内のボタンをクリックするとUncaught ReferenceError: clickmeapproved is not definedと表示されます。私のコードや私がそれらを使用している方法に何か問題はありますか?不承認と同じエラーです。未知のReferenceError:エラーが定義されていません

afterInsertRow: function (rowid) { 
       var obj = jQuery("#FiTATimeCorrectionV2List").getRowData(rowid); 
       var FADTLSID = obj.FitaAssignDtlID; 
       if (FADTLSID !== undefined) { 
        if (FADTLSID !== "") { 
         var btnApprove = "<input type = 'image' img alt='' src='../../Content/Images/newimages/check.png' style='height:20px;width:20px;' style ='width: 90px' id='btnApproved" + rowid + "' onclick='clickmeapproved(" + rowid + ")' />" 
         var btnDisApprove = "<input type = 'image' img alt='' src='../../Content/Images/newimages/delete.png' style='height:20px;width:20px;' style ='width: 90px' id='btnDisApproved" + rowid + "' onclick='clickmedisapproved(" + rowid + ")' />" 
         jQuery("#FiTATimeCorrectionV2List").setRowData(rowid, { FitaCorForApproval: btnApprove }); 
         jQuery("#FiTATimeCorrectionV2List").setRowData(rowid, { FitaCorForDisApproval: btnDisApprove }); 
         var temp = obj.FitaStatus; 
         if (temp == "Approved") { 
          $("#btnApproved" + rowid).hide(); 
          $("#btnDisApproved" + rowid).hide(); 
         } 
         else if (temp == "Disapproved") { 
          $("#btnApproved" + rowid).hide(); 
          $("#btnDisApproved" + rowid).hide(); 
         } else { 
          $("#btnApproved" + rowid).show(); 
          $("#btnDisApproved" + rowid).show(); 
         } 
        } 
       } 
      }, 

function clickmeapproved(rowid) { 
var ans = confirm("Are you sure you want to approve the request of "+ globalFitaCorName +"?"); 
if (ans) { 
    $.ajax({ 
     type: "POST", 
     url: '../Request/SaveFitaApproval?FAID=' + rowid, 
     dataType: 'json', 
     success: function (response) { 
      alert("Successfully approve!"); 
      $("#FiTATimeCorrectionV2List").trigger("reloadGrid"); 
      FiTATimeCorrectionV2(0); 
      globalFitaCorName = ""; 
      $("#loader").hide(); 
     }, 
     error: function (reponse) { 
      $("#FiTATimeCorrectionV2List").trigger("reloadGrid"); 
      FiTATimeCorrectionV2(0); 
      globalFitaCorName = ""; 
      $("#loader").hide(); 
     } 
    }); 
    } 
} 

答えて

0

あなたの "clickmeapproved" 機能は、グローバルスコープを持っていません。 Webインスペクタで「window.clickmeapproved」と入力して確認します。

+0

グローバルスコープ?申し訳ありませんが、私はそれを最初に知っています。 – KiRa

+0

ブラウザに「clickmeapproved」機能があります。それは見つけることができません。したがって、 "window.clickmeapproved"が動作していることを確認する必要があります。あなたはjavascriptのスコープについて知ることができます。https://www.w3schools.com/js/js_scope.asp – singh88harman

+0

BTW ..私はちょうどそれを解決してくれてありがとう助けてくれてありがとう。私は自分のコードを少し編集する。私はそれを投稿します待ってください。 – KiRa

0

ここに私の問題を解決するために使用するコードがあります。

var btnApprove = "<input type = 'image' img alt='' src='../../Content/Images/newimages/check.png' style='height:20px;width:20px;' style ='width: 90px' id='btnApproved" + rowid + "' />" 
var btnDisApprove = "<input type = 'image' img alt='' src='../../Content/Images/newimages/delete.png' style='height:20px;width:20px;' style ='width: 90px' id='btnDisApproved" + rowid + "' />" 

ボタンのクリックを除外します。

$("#btnApproved" + rowid + "").click(function(){ 
    clickmeapproved(rowid); 
}); 
$("#btnDisApproved" + rowid + "").click(function(){ 
    clickmedisapproved(rowid); 
}); 
関連する問題