Ошибка Javascript, Экранирование проблемы, Сетка не работает, Ошибка в Firebug

Мы только начали с Sigma Grid, и он потрясающий по своей функциональности по сравнению с другими сетками.

Но я столкнулся с некоторой проблемой с Sigma Grid, или может быть с Javascript. Я не знаю, связана ли проблема с Grid или с моим кодом.

У меня есть таблица с 3 полями, а именно MailID, MailName, MailData.

MailID - это int,MailName и MailData содержат HTML-контент и сохраняются в виде строки в базе данных.

Когда я загружаю Grid, у меня возникают некоторые проблемы.

Проблема 1:


Как я уже говорил выше, Maildata содержит html-контент, следующее изображение является просто примером с <* b>, вы можете видеть, что HTML автоматически отображается на самой сетке, мне нужна точная строка.

пожалуйста, проверьте следующее изображение.

Проблема 2:


как вы можете видеть, у меня есть ссылки на сетку, для редактирования, отправки, удаления, но на одной из них она повреждена.[проверьте изображение ниже]

код, который я использовал для отображения ссылок, следующий.

{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", оно показывает следующую ошибку в firebug.

missing ) after argument list
 alert(hai newuser)

проверьте изображение ниже.

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

Но когда я предупреждаю 9-е значение 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, я думаю, что я делаю что-то худшее с кодами, пожалуйста, помогите мне добиться успеха.

Спасибо.

Примечание: я также опубликовал тот же Вопрос на Sigma Grid Forum, я думаю, что это не проблема.

1 ответ

Решение

Проблема 2

Строка cod содержит >

Проблема 3

Строка hai newuser должен содержаться в " или же ' или это считается именем переменной

По сути, вы должны решить - собираетесь ли вы проверять HTML или нет. Если вы не подтвердите HTML, ошибки HTML в данных будут отображаться как ошибки на вашей странице. Вы также можете избежать HTML, чтобы увидеть HTML-коды - это, вероятно, лучший план.

Другие сайты используют (например, этот) использовать уценку - это легче проверить - тогда они генерируют фактический HTML перед отображением.

Кроме того, у вас есть проблемы с предупреждением. Оповещение отображает строки, а не HTML, поэтому вы увидите то, что видите - результаты отличаются от ожидаемых в зависимости от HTML.


Я хотел бы сделать шаг назад и спросить себя - какой тип данных, как я собираюсь их отображать. Как я собираюсь проверить, что, если это HTML, он действителен.

Есть проблемы, которые вам нужно решить - все ваши примеры проистекают из этой проблемы.

Другие вопросы по тегам