简体   繁体   中英

How to save textarea data to session with jquery ajax post method [Codeigniter]?

I want to save textarea to Controller session using jquery ajax post method in Codeigniter smarty. I can't save data to session. How can I do this? Please guide me with full description coding example please.

$this->session->set_userdata()

Here is my view

<div class="col-md-9" id="label">
    <form method="post" id="programmingQ1" name="programmingQ1" action="{base_url('home/question2')}" enctype="multipart/form-data">
      <div class="form_block">   
        {foreach $question_data as $qdata}  
            <p class="question">
                {$qdata->Question|nl2br}
            </p>
        {/foreach}

            <label for="text">Fill in the answer :</label>
            <br>
            <textarea name="answer1"  id="text" maxlength="2000" class="form-control" rows="20">{if isset($value)}{$value['answer1']}{/if}</textarea>
          <input type="button" id="mybutton" name="next" class="btn btn-default nextbutton" id="btn_submit" value="Next">
      </div>
    </form>
</div>

Here is my ajax

<script type="text/javascript">
$('input#mybutton').click(function() {
var text = $('textarea#text').val();

alert(text);


$.ajax({
  url : "saveq1",
  type: "POST",
  data : text,
  success: function(data)
  {
      alert(data);
  },

});

});
</script>

Here is my controller

public function saveq1()
{
    $data=array();

    if($_SERVER['REQUEST_METHOD']=='POST')
    {
        $this->load->library('session');
        $this->session->set_userdata('answer1',$this->input->post());
        print_r($this->session->userdata('answer1'));
    }
    $data['value']=$this->session->userdata('question1');
    $this->smarty->view('question1.tpl',$data);
}
<?php session_start();?>

<div class="col-md-9" id="label">
    <form method="post" id="programmingQ1" name="programmingQ1" action="{base_url('home/question2')}" enctype="multipart/form-data">
      <div class="form_block">   
        {foreach $question_data as $qdata}  
            <p class="question">
                {$qdata->Question|nl2br}
            </p>
        {/foreach}

            <label for="text">Fill in the answer :</label>
            <br>
            <textarea name="answer1"  id="text" maxlength="2000" class="form-control" rows="20">{if isset($value)}{$value['answer1']}{/if}</textarea>
          <input type="button" id="mybutton" onclick="setTxtAreaDataToSession();" name="next" class="btn btn-default nextbutton" id="btn_submit" value="Next">
      </div>
    </form>
</div>



<script type="text/javascript">
   function setTxtAreaDataToSession(){
       var text = $('#text').val();

       '<?php $this->session->set_userdata(?>'+text+'<?php)?>';  // setting in session.      

   }
</script>

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM