dongzi0850 2013-04-03 03:29
浏览 90

Tinymce Editor从数据库问题中检索数据[条带反斜杠]

Saving to database is good.

var emailReg = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/;   

Retrieving from database strips my backslashes.

var emailReg = /^([w-.]+@([w-]+.)+[w-]{2,4})?$/;

I'm working on a project which I use CodeIgniter. I have a form which validates an email address, if ok then saves to a DB. I'm using Tinymce textarea editor and I save my data to this db and my page displays ok. The issue is when I get my data back into the textarea, the validation does not work because of the missing backslashes.

I'm not sure if its an issue from CodeIgniter or Tinymce.

<script type="text/javascript">
window.addEvent('domready', function(){
    var submit = $('submit');
    var cancel = $('cancel');

    if(submit)
    {
        submit.addEvent('click', function(){

            $('loading').set('html', '<img src="/v5d/system/application/views/images/loading-green.gif" alt="" /> &nbsp; Processing. Please wait...');
            $('loading').set('styles', {'display': 'block'});

            var purl = $('purl').get('value');
            var formid = $('formid').get('value');

            var elementProperty = new Array();
            var elcount = 0;
            var elname='', elvalue='';
            var eldetail;
            var elreq = '';
            var valerror = 0;
            var valerror1 = 0;

            var formelements = $('survey').getChildren('input');

                            // BACKSLASH ISSUE
                           var emailReg = /^([w-.]+@([w-]+.)+[w-]{2,4})?$/;


            formelements.each(function(item, index){
                eldetail = formelements[index];
                elname = eldetail.get('name');
                if(eldetail.get('type') == 'text')
                {
                    elvalue = eldetail.get('value');
                    elreq = eldetail.get('class');
                    if(elreq == 'required' && elvalue == '')
                    {
                        valerror++;
                    } 
                    else if(elreq == 'required' && !emailReg.test(elvalue))
                    {
                        valerror1++;
                    } 
                }
                else if(eldetail.get('type') == 'radio')
                {
                    var radioLength = eldetail.length;
                    if (radioLength == undefined) {
                        if (eldetail.checked) {
                            elvalue = eldetail.value;
                        }
                    }
                    for(var i = 0; i < radioLength; i++) {
                        if(eldetail[i].checked) {
                            elvalue = eldetail[i].value;
                        }
                    }
                }
                else if(eldetail.get('type') == 'checkbox')
                {
                    elvalue = '';
                    var radioLength = eldetail.length;
                    if (radioLength == undefined) {
                        if (eldetail.checked) {
                            elvalue = eldetail.value;
                        }
                    }
                    for(var i = 0; i < radioLength; i++) {
                        if(eldetail[i].checked) {
                            elvalue += ',' + eldetail[i].value;
                        }
                    }
                }
                elementProperty[elcount] = new itemstruct(elname, elvalue);
                elcount++;
            });

            formelements = $('survey').getChildren('textarea');
            formelements.each(function(item, index){
                eldetail = formelements[index];
                elname = eldetail.get('name');
                elvalue = eldetail.value;
                elreq = eldetail.get('class');
                if(elreq == 'required' && elvalue == '')
                {
                    valerror++;
                }
                elementProperty[elcount] = new itemstruct(elname, elvalue);
                elcount++;
            });

            formelements = $('survey').getChildren('select');
            formelements.each(function(item, index){
                eldetail = formelements[index];
                elname = eldetail.get('name');
                elvalue = eldetail.get('value');
                elementProperty[elcount] = new itemstruct(elname, elvalue);
                elcount++;
            });


            var surveysubmit = new Request({
                url: '/v5d/index.php/ajax/submitSurvey',
                method: 'post',
                data:{
                    'elementproperty': elementProperty,
                    'formid': formid,
                    'purl': purl,
                    'state': 'final'
                },

                onComplete: function(responseText){
                    if (!responseText || responseText == '' || responseText == false || responseText == 'FALSE') 
                    {
                        $('loading').set('html', 'Error occured');
                    }
                    else
                    {
                        $('loading').set('html', 'Form successfully submitted');
                        //window.location.reload();
                    }
                }
            });

            if (valerror == 0) 
            {
                 if (valerror1 != 0) 
                 {
                 $('loading').set('html', 'Please right email.');
                 }
                 else 
                 {
                 surveysubmit.send();
                 }
            }

            else
            {
                $('loading').set('html', 'Please fillup all required fields.');
            }
        });
    }

    if(cancel)
    {
        cancel.addEvent('click', function(){
            var choice = confirm('Sure want to leave the survey?');
            if(choice)
            {
                var purl = $('purl').get('value');
                var formid = $('formid').get('value');

                var elementProperty = new Array();
                var elcount = 0;
                var elname='', elvalue='';
                var eldetail;
                var elreq = '';
                var valerror = 0;

                var formelements = $('survey').getChildren('input');

                formelements.each(function(item, index){
                    eldetail = formelements[index];
                    elname = eldetail.get('name');
                    if(eldetail.get('type') == 'text')
                    {
                        elvalue = eldetail.get('value');
                        elreq = eldetail.get('class'); 
                    }
                    else if(eldetail.get('type') == 'radio')
                    {
                        var radioLength = eldetail.length;
                        if (radioLength == undefined) {
                            if (eldetail.checked) {
                                elvalue = eldetail.value;
                            }
                        }
                        for(var i = 0; i < radioLength; i++) {
                            if(eldetail[i].checked) {
                                elvalue = eldetail[i].value;
                            }
                        }
                    }
                    else if(eldetail.get('type') == 'checkbox')
                    {
                        elvalue = '';
                        var radioLength = eldetail.length;
                        if (radioLength == undefined) {
                            if (eldetail.checked) {
                                elvalue = eldetail.value;
                            }
                        }
                        for(var i = 0; i < radioLength; i++) {
                            if(eldetail[i].checked) {
                                elvalue += ',' + eldetail[i].value;
                            }
                        }
                    }
                    elementProperty[elcount] = new itemstruct(elname, elvalue);
                    elcount++;
                });

                formelements = $('survey').getChildren('textarea');
                formelements.each(function(item, index){
                    eldetail = formelements[index];
                    elname = eldetail.get('name');
                    elvalue = eldetail.value;
                    elreq = eldetail.get('class');
                    elementProperty[elcount] = new itemstruct(elname, elvalue);
                    elcount++;
                });

                formelements = $('survey').getChildren('select');
                formelements.each(function(item, index){
                    eldetail = formelements[index];
                    elname = eldetail.get('name');
                    elvalue = eldetail.get('value');
                    elementProperty[elcount] = new itemstruct(elname, elvalue);
                    elcount++;
                });


                var surveysubmit = new Request({
                    url: '/v5d/index.php/ajax/submitSurvey',
                    method: 'post',
                    data:{
                        'elementproperty': elementProperty,
                        'formid': formid,
                        'purl': purl,
                        'state': 'final'
                    },

                    onComplete: function(responseText){
                        if (!responseText || responseText == '' || responseText == false || responseText == 'FALSE') 
                        {
                            $('loading').set('html', 'Error occured');
                        }
                        else
                        {
                            $('loading').set('html', 'Form successfully submitted');
                            //window.location.reload();
                        }
                    }
                });
                surveysubmit.send();

                window.location.href='/v5d/'+purl;
            }
        });
    }
});

var itemstruct = function(elname, elvalue)
{
    this.elname = elname;
    this.elvalue = elvalue;


}

  • 写回答

1条回答 默认 最新

  • douai2499 2014-12-23 10:52
    关注

    using this method you can retrieve data back to tinymce editor from database.

    tinyMCE.activeEditor.setContent(data);
    
    评论

报告相同问题?

悬赏问题

  • ¥15 AT89C51控制8位八段数码管显示时钟。
  • ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
  • ¥15 下图接收小电路,谁知道原理
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度
  • ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测
  • ¥15 ETLCloud 处理json多层级问题
  • ¥15 matlab中使用gurobi时报错
  • ¥15 这个主板怎么能扩出一两个sata口