【问题标题】:How to save textarea data to session with jquery ajax post method [Codeigniter]?如何使用 jquery ajax post 方法 [Codeigniter] 将 textarea 数据保存到会话?
【发布时间】:2017-06-26 23:33:02
【问题描述】:

我想在 Codeigniter smarty 中使用 jquery ajax post 方法将 textarea 保存到 Controller 会话。我无法将数据保存到会话。我怎样才能做到这一点?请用完整的描述编码示例指导我。

$this->session->set_userdata()

这是我的看法

<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>

这是我的 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>

这是我的控制器

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);
}

【问题讨论】:

  • 嘿,你在 print_r($this->session->userdata('answer1')); 中得到了什么可以发一下吗

标签: javascript php jquery ajax codeigniter


【解决方案1】:
<?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>

【讨论】:

  • 在codeigniter中不需要像&lt;?php session_start();?&gt;这样启动会话。
猜你喜欢
  • 1970-01-01
  • 2020-03-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-07-09
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多