2011-08-29 105 views
1

我們剛剛開始使用Sigma Grid,當我們與其他Grid相比時,它的功能非常棒。Javascript Error,Escaping Problem,Grid not working,Error on Firebug

但是我遇到了Sigma Grid的一些問題,或者可能是用javascript。 我不知道問題是否與網格或我的代碼。

我有一個表有3個字段,即MailID,MailName,MailData。

MailID是int,MailName和MailData包含HTML內容並將其保存爲數據庫中的字符串。

當我加載網格,我有一些問題。

問題1:


正如我說上面的MAILDATA包含HTML內容,下面的圖像僅僅是與<一個例子* b>中,U可以看出,HTML被自動呈現在網格本身,我需要確切的字符串。

請檢查下面的圖片。

問題2:


如u可以看到我對電網鏈接,進行編輯,發送,刪除,但是,一個提交了損壞[查看下面的圖片]

。我用來呈現鏈接的代碼如下。

{id: 'mailid' , header: "Action", width :120 , resizable : false, sortable : false , printable : false , 
     renderer : function(value ,record,columnObj,grid,colNo,rowNo){ 
       var no= record[columnObj.fieldIndex]; 
       var cod = (record['maildata']); 
       return '<a href=\"#\" class=\"myli\" onClick="showalert('+no+');">Edit</a> | <a href=\"#\" onClick=\"alert('+cod+')\";>Send</a> | <a href=\"#\">Delete</a>'; 

http://i52.tinypic.com/f02c01.png

問題3:


MAILDATA的第三個值是5,它是整數,當我提醒值其正確地示出了它。 檢查下面的圖像。 http://i51.tinypic.com/2uqivyv.png

但是,當我警告maildata的第二個值給出錯誤時,MailData的第二個值是「hai newuser」,它在螢火蟲上顯示以下錯誤。

missing) after argument list 
alert(hai newuser) 

檢查下面的圖像。

http://i54.tinypic.com/2dc7h8k.png

但是,當我提醒MAILDATA的第九值它正常運行中,內容是< B> POY </b>的,這一個也被保存爲字符串,但網格自動BOLD [其我喜歡]。檢查下面的圖片。 http://i53.tinypic.com/10fceb4.png

還有一些其他值包含;「。:等,也/ B,當我提醒數據它顯示以下錯誤,

unexpected end of XML source 
alert(<b>jjfdslkdjflsdnfsldfnf 

dsOptions和ColOptions如下。

var dsOption= { 

    fields :[ 
     {name : 'mailid' }, 
     {name : 'mailname',type:"text" }, 
     {name : 'maildata',type:"text" } 






    ], 

    recordType : 'object', 


} 


    function my_renderer(value ,record,columnObj,grid,colNo,rowNo) 
    { 
     var no= record[columnObj.fieldIndex]; 
     return "<img src=\"./images/flag_" + no.toLowerCase() + ".gif\">"; 
     } 
     function showalert(no) 
     { 
     $(document).ready(function() 
     { 



     $.post("http://localhost/power/index.php/power/give",{ name: no}, function(data) 
      { 
      //alert("Data Loaded: " + data); 
      $("#editor").show("fast"); 
      $('#txtar').ckeditor(); 
      $('#txtar').val(data.maildata); 
      //$("#editor").html(data); 
      },"json" 
     ); 

     }); 
     } 



var colsOption = [ 
    {id: 'mailid' , header: "Mail ID" , width :60}, 
    {id: 'mailname' , header: "Mail Name" , width :160 ,type:"text"}, 
     {id: 'maildata' , header: "Mail Data" , width :190,type:"text" }, 
     {header: "Group" , width :70, 
    editor : { type :"select" ,options : {'php':'php','asp':'asp'} 
    ,defaultText : 'php' } }, 


     {id: 'mailid' , header: "Action", width :120 , resizable : false, sortable : false , printable : false , 
     renderer : function(value ,record,columnObj,grid,colNo,rowNo){ 
       var no= record[columnObj.fieldIndex]; 
       var cod = (record['maildata']); 
       return '<a href=\"#\" class=\"myli\" onClick="showalert('+no+');">Edit</a> | <a href=\"#\" onClick=\"alert('+cod+')\";>Send</a> | <a href=\"#\">Delete</a>'; 
      } } 
]; 

我很喜歡Javascript和Sigmagrid的新功能,我認爲我做的代碼最糟糕的事情,請幫我取得成功。

謝謝。

注意:我也在西格瑪網格論壇發佈了同樣的問題,我認爲這不是問題。

+0

對不起,如果sof允許發佈圖片,這篇文章可能很漂亮。 – Red

回答

2

問題2

字符串cod包含>

問題3

字符串hai newuser需要被包含在"',或者它被認爲是一個變量名

基本上你必須決定 - 你是否要驗證HTML或不。如果您不驗證HTML,那麼數據中的html錯誤將顯示爲您網頁上的錯誤。您也可以HTML轉義HTML,以便您可以看到HTML代碼 - 這可能是最好的計劃。

其他網站使用(像這樣)使用降價 - 這是更容易驗證 - 然後他們生成之前顯示實際的HTML。

此外,您遇到警報問題。警報顯示的字符串不是HTML,因此您會看到您所看到的內容 - 取決於HTML,預期結果不盡人意。


我會退後一步並問自己 - 數據的類型是什麼,我將如何顯示它。我如何驗證,如果它是HTML,它是有效的。

您需要解決的問題 - 您的例子都來自這個問題。

+0

字符串海用戶是一個字符串,它被分配給一個變量,那麼我怎麼可以使用「或」??也是MailData是HTML所以我需要轉義以顯示?但我需要看到實際內容沒有任何 – Red

+0

我還得到了一種類型渲染的各種錯誤 – Red

+0

我將數據保存爲一個字符串,也可能包含或不包含HTML,它的依賴和COD是字符串,所以我認爲我可以提醒,通常,但它在這裏沒有工作 – Red

相關問題