javascript - 如何使用jquery ajax post方法[Codeigniter]将textarea数据保存到 session ?

标签 javascript php jquery ajax codeigniter

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

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

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

关于javascript - 如何使用jquery ajax post方法[Codeigniter]将textarea数据保存到 session ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42128544/

相关文章:

php - 在 php 中从数据库结果创建自定义 json 数组?

javascript - Jquery 图像 slider 上一个按钮

javascript - 如果 JavaScript 是单线程的,这是什么?

javascript - 对 promise 感到困惑

javascript - 在 Javascript 中,嵌入一组 Promise 时 setTimeout 会阻塞吗?

javascript - 通过 jquery 打印隐藏数据

javascript - 创建计算输入框的动态表单

javascript - 在哪里可以找到 HTML 元素的可能事件列表?

php - 如何使用 PHP 的共享访问签名在 azure 中上传 blob?

javascript - 如何更改 Foundation Joyride 中特定索引的提示位置?