Ошибка Javascript, выход из проблемы, не работает сетка, ошибка в Firebug - PullRequest
1 голос
/ 29 августа 2011

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

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

У меня есть таблица с 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, оно работает правильно, содержимое <<em> b> poy <</em> / b>, это также сохраняется как строка, но сетка автоматически BOLD [что я не как]. Проверьте изображение ниже. http://i53.tinypic.com/10fceb4.png

также есть некоторые другие, которые содержат значение;

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 голосов
/ 29 августа 2011

Задача 2

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

Задача 3

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

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

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

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


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

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

...