2011-09-30 3 views
0

내 jqgrid는 Firefox 7 및 IE9에서는 작동하지만 IE8 또는 Firefox 3.6.6에서는 작동하지 않습니다. jqgrid 최신 버전을 사용하고 있습니다. 첨부jqgrid가 IE8 및 Firefox 3.6.6에서 작동하지 않습니다.

$(document).ready(function() { 

     $('#jobs').jqGrid({ 
      url: '/SearchJob/Jobs/', 
      postData: { 
       'JobTitle': function() { return $('#JobTitle').val(); }, 
       'City': function() { return $('#City').val(); }, 
       'SelectJobType': function() { return $('#SelectJobType option:selected').val(); }, 
       'SalaryStartRange': function() { return $('#SalaryStartRange').val(); }, 
       'SalaryEndRange': function() { return $('#SalaryEndRange').val(); }, 
       'SelectCategory': function() { return $('#SelectCategory option:selected').val(); }, 
       'SelectIndustry': function() { return $('#SelectIndustry option:selected').val(); }, 
       'CompanyName': function() { return $('#CompanyName').val(); }, 
       'Keywords': function() { return $('#Keywords').val(); }, 
       'SelectSalaryType': function() { return $('#SelectSalaryType option:selected').val(); } 
      }, 
      datatype: 'json', 
      mtype: 'POST', 
      colNames: ['Title', 'Category', 'Company Name', 'Location', 'Salary Range', 'Date Posted'], 
      colModel: [ 
       { name: 'Title', index: 'title', width: 150, align: 'left', formatter: 'showlink', formatter: linkformatter }, 
       { name: 'Category', index: 'Category', width: 150, align: 'center' }, 
       { name: 'CompanyName', index: 'CompanyName', width: 150, align: 'center' }, 
       { name: 'CombinedLocation', index: 'CombinedLocation', width: 150, align: 'center' }, 
       { name: 'salaryRange', index: 'salaryRange', width: 150, align: 'center' }, 
       { name: 'DatePosted', index: 'DatePosted', width: 150, align: 'center' }, 
      ], 
      shrinkToFit: true, 
      rownumbers: true, 
      loadonce: false, 
      pager: jQuery('#jobPager'), 
      rowNum: 10, 
      rowList: [5, 10, 20, 50], 
      sortname: 'jobid', 
      sortorder: "desc", 
      viewrecords: true, 
      imgpath: '', 
      caption: 'Jobs', 
      width: '100%', 
      height: "100%" 
     }); 
     $('#search').click(function() { 
      $('#jobs').trigger('reloadGrid'); 
      return false; 
     }); 



    }); 

    linkformatter = function (cellValue, opts, rowObject) { 
     console.log(rowObject); 
     return "<a href='@Url.Action("JobView", "RecruiterProfile")/" + rowObject[rowObject.length - 1] + "'>" + cellValue + "<a/>"; 
    } 

내가 IE8과 파이어 폭스 3.6에서 얻을 오류입니다 : 이것은이 필요한 경우 경우 내 스크립트가

<link href="@Url.Content("~/Content/Site.css")" rel="stylesheet" type="text/css" /> 
    <link href="@Url.Content("~/Content/themes/ui-lightness/jquery.ui.all.css")" rel="stylesheet" type="text/css" /> 
    <link href="@Url.Content("~/Content/ui.jqgrid.css")" rel="stylesheet" type="text/css" /> 
    <link href="@Url.Content("~/Content/ui.multiselect.css")" rel="stylesheet" type="text/css" /> 
    <link href="@Url.Content("~/Content/themes/ui-lightness/jquery-ui-1.8.16.custom.css")" rel="stylesheet" type="text/css" /> 
    <script src="@Url.Content("~/Scripts/jquery-1.6.2.min.js")" type="text/javascript"></script> 
    <script src="@Url.Content("~/Scripts/jquery.validate.min.js")" type="text/javascript"></script> 
    <script src="@Url.Content("~/Scripts/grid.locale-en.js")" type="text/javascript"></script> 
    <script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js")" type="text/javascript"></script> 
    <script src="@Url.Content("~/Scripts/jquery.jqGrid.min.js")" type="text/javascript"></script> 
    <script src="@Url.Content("~/Content/ui/minified/jquery.ui.core.min.js")" type="text/javascript"></script> 
    <script src="@Url.Content("~/Content/ui/minified/jquery.ui.widget.min.js")" type="text/javascript"></script> 
    <script src="@Url.Content("~/Content/ui/minified/jquery.ui.mouse.min.js")" type="text/javascript"></script> 

입니다 : 여기

내가 포함 한 스크립트 파일입니다 :

게시가 허용되지 않아 스크린 샷을 삭제하고 있습니다. 앞으로 누군가가 여기에 떨어지면 오류가 콘솔에 발생합니다. 내 포맷터 함수에서 제거되어 작동했습니다!

업데이트 : Firebug를 비활성화 한 경우 오류는 Firefox 3.6에서만 발생합니다. Firebug를 활성화하면 모든 것이 예상대로 작동합니다. 내가 도대체 ​​뭘 잘못하고있는 겁니까? 잘못된 스크립트 파일을 포함하고 있습니까? 난 당신이 작성해야 생각

답변

3

..

console.log(rowObject); 

또는 당신이 여기에서 답을 얻을 수 있습니다 대신에

window.console.log(rowObject); 

....

http://www.sitepoint.com/forums/showthread.php?575320-how-not-to-let-console.log%28%29-to-cause-error-on-IE-or-other-browsers

+0

내가 도움이되는지 아닌지 알려주세요. !!!! – sikender

+0

고마워요 젠체하는 !!!!!!!!!!!!!!!!!!!!!!!!!!!! 당신은 내 등을 구해 줬어 .. – Jaggu

+0

내 질문을 받아 들여야한다. 도움이된다면 .. – sikender

1
console.log(rowObject); 
IE8 또는 F에서

irefox 3.6.6, 그것은 당신이 이것을 제거 할 때 작동합니다.

1

당신은 마지막으로 "업데이트"부분에서 귀하의 질문에 거의 자신 answerd : 당신은

if (window.console) { 
    window.console.log(rowObject); 
} 

또는

if (console) { 
    console.log(rowObject); 
} 

console이기 때문에

항상 존재하지 테스트 할 수 있습니다.

+0

감사합니다. 실제로 localhost에서 실행 중이지만 클라이언트의 브라우저에 오류가 있습니다. – Jaggu

+0

@Jaggu : 안녕하세요. – Oleg

관련 문제