1

i wanted to generate a new div, everytime i click a button. and in-between the div, i would like to generate a text editor (so i would have multiple text editor everytime i click the button). now, that i know the difference and decide to make use of ajax. is there any pointer of ajax use closely related to my problem?

<html>
<head></head>
<body>
<header></header>
<section class="content">
 {{ Form::open(array('url' => '/admin/publish/'.$article['id'], 'files' => true, 'method' => 'put', 'class' => 'form-horizontal')) }}
<div class="box-footer">
  <div class="form-group">
      <div class="col-sm-12">
         {{ Form::label('Content', null, array()) }}
         {{ Form::textarea('content', $article->content, array('class' => 'form-control', 'placeholder' => 'Content')) }}
      </div>
  </div>
  <input type="hidden" value="0" id="theValue"/>
  <button id="btn-add" class="btn btn-default" onclick="addElement();">Add Content Page</button>
  <div class="form-group">
    <div id="myDiv" class="col-sm-12">
      <!-- here is where the magic (supposed to) happen -->
    </div>
  </div>
</div>        

</section>
<script src="//cdn.ckeditor.com/4.4.2/standard-all/ckeditor.js"></script>
<script>

function addElement() {

            var ni = document.getElementById('myDiv');

            var numi = document.getElementById('theValue');

            var num = (document.getElementById('theValue').value - 1) + 2;

            numi.value = num;

            var newdiv = document.createElement('div');

            var divIdName = 'my' + num + 'Div';
            var tarea = '{{ Form::textarea("content"'.num.', $article->content , array(\'class\' => \'form-control\', \'placeholder\' => \'content\')) }}';
            var cpage = '<img src="http://development.kawaiibeautyjapan.com/assets/images/transparent.png" onload="addContentPage('+ num +');" \/>';

            newdiv.setAttribute('id', divIdName);

            newdiv.innerHTML = tarea + cpage + '<button class=\'btn btn-default\' onclick=\'removeElement(' + num + ');\'>Remove</button>';

            ni.appendChild(newdiv);

        }

function addContentPage(count){

        CKEDITOR.replace('content'+count, {
          extraPlugins: 'autogrow,showblocks,div,justify'
        });
        CKEDITOR.config.autoGrow_maxHeight = 400;
    }

function removeElement(divNum) {

        var d = document.getElementById('myDiv');
        var olddiv = document.getElementById('my' + divNum + 'Div');

        d.removeChild(olddiv);
    }

window.onbeforeunload = function (evt) {
      var message = 'This tab will be closed, are you sure?';
      if (typeof evt == 'undefined') {
        evt = window.event;
      }
      if (evt) {
        evt.returnValue = message;
      }
      return message;
    };

</script>
</body>
</html>

some of the code lines are removed to simplify. If i remove "tarea" and "cpage", i could create button every time i click the "add content page" button. The thing is i'm trying to add textarea element that would be translated by the javascript function below to a text editor. But it seems there's problem with the way arrange the quotation between lines?

'{{ Form::textarea("content"'.num.', $article->content , array(\'class\' => \'form-control\', \'placeholder\' => \'content\')) }}';

thank you

Khomeini
  • 11
  • 5

0 Answers0