CodeIgniter Forums

Full Version: popup dialog cannot show data
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
I have below code with popup dialog but find that it is not expected to show the data. Do you have any hints?? I am using the base64_encode to encode the string which contains ... html tag. And then pass it to popup dialog of using codeiginter framework.
Code:
$soldUsersstr=base64_encode($soldUsersstr);

echo "<p><div class=\"user-ads-action\"><a class=\"btn btn-info btn-xs\"  data-toggle=\"modal\"   href=\"#markSoldAds\"   data-soldusers=\"$soldUsersstr\"  $str> <i class=\"fa fa-mail-forward\"></i>".$this->lang->line('MarkSold')." </a></div></p>";

<div   id="divSoldUser" name="divSoldUser"  class="center">

</div>

<script>

$(document).ready(function() {
    $('#markSoldAds').on('show.bs.modal', function(event) {
        $("#postID").val($(event.relatedTarget).data('id'));
         $("#divSoldUser").html(jsbase64_decode($(event.relatedTarget).data('soldusers')));
    });
});



function jsbase64_decode(data) {

          var b64 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';
          var o1, o2, o3, h1, h2, h3, h4, bits, i = 0,
            ac = 0,
            dec = '',
            tmp_arr = [];

          if (!data) {
            return data;
          }

          data += '';

          do { // unpack four hexets into three octets using index points in b64
            h1 = b64.indexOf(data.charAt(i++));
            h2 = b64.indexOf(data.charAt(i++));
            h3 = b64.indexOf(data.charAt(i++));
            h4 = b64.indexOf(data.charAt(i++));

            bits = h1 << 18 | h2 << 12 | h3 << 6 | h4;

            o1 = bits >> 16 & 0xff;
            o2 = bits >> 8 & 0xff;
            o3 = bits & 0xff;

            if (h3 == 64) {
              tmp_arr[ac++] = String.fromCharCode(o1);
            } else if (h4 == 64) {
              tmp_arr[ac++] = String.fromCharCode(o1, o2);
            } else {
              tmp_arr[ac++] = String.fromCharCode(o1, o2, o3);
            }
          } while (i < data.length);

          dec = tmp_arr.join('');

          return dec.replace(/\0+$/, '');
        }
(12-10-2015, 10:11 PM)rchiu5hk Wrote: [ -> ]I have below code with popup dialog but find that it is not expected to show the data. Do you have any hints?? I am using the base64_encode to encode the string which contains ... html tag. And then pass it to popup dialog of using codeiginter framework.
Code:
$soldUsersstr=base64_encode($soldUsersstr);

echo "<p><div class=\"user-ads-action\"><a class=\"btn btn-info btn-xs\"  data-toggle=\"modal\"   href=\"#markSoldAds\"   data-soldusers=\"$soldUsersstr\"  $str> <i class=\"fa fa-mail-forward\"></i>".$this->lang->line('MarkSold')." </a></div></p>";

<div   id="divSoldUser" name="divSoldUser"  class="center">

</div>

<script>

$(document).ready(function() {
   $('#markSoldAds').on('show.bs.modal', function(event) {
       $("#postID").val($(event.relatedTarget).data('id'));
        $("#divSoldUser").html(jsbase64_decode($(event.relatedTarget).data('soldusers')));
   });
});



function jsbase64_decode(data) {

         var b64 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';
         var o1, o2, o3, h1, h2, h3, h4, bits, i = 0,
           ac = 0,
           dec = '',
           tmp_arr = [];

         if (!data) {
           return data;
         }

         data += '';

         do { // unpack four hexets into three octets using index points in b64
           h1 = b64.indexOf(data.charAt(i++));
           h2 = b64.indexOf(data.charAt(i++));
           h3 = b64.indexOf(data.charAt(i++));
           h4 = b64.indexOf(data.charAt(i++));

           bits = h1 << 18 | h2 << 12 | h3 << 6 | h4;

           o1 = bits >> 16 & 0xff;
           o2 = bits >> 8 & 0xff;
           o3 = bits & 0xff;

           if (h3 == 64) {
             tmp_arr[ac++] = String.fromCharCode(o1);
           } else if (h4 == 64) {
             tmp_arr[ac++] = String.fromCharCode(o1, o2);
           } else {
             tmp_arr[ac++] = String.fromCharCode(o1, o2, o3);
           }
         } while (i < data.length);

         dec = tmp_arr.join('');

         return dec.replace(/\0+$/, '');
       }


-3
down vote
instead of $( document ).ready( function() { ... } );

try

$( document ).ready( abc() );

function abc() { .... }

worked for me.i myself searched lot of places, but couldn't find a solution. Tried this out randomly and worked!!