Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/464.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/google-chrome/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将同名文本框的值传递给jquery,然后传递给php页面,以便将值存储到数据库中_Javascript_Php_Jquery - Fatal编程技术网

Javascript 将同名文本框的值传递给jquery,然后传递给php页面,以便将值存储到数据库中

Javascript 将同名文本框的值传递给jquery,然后传递给php页面,以便将值存储到数据库中,javascript,php,jquery,Javascript,Php,Jquery,我有一个文本框列表,如下所示: ` <table id="div1" style="width:100%;"> <tr> <td> <label>Question Text</label> </td> <td colspan="5"> &l

我有一个文本框列表,如下所示:

` <table id="div1" style="width:100%;">
          <tr>
            <td>
              <label>Question Text</label>
            </td>
                <td colspan="5">        
                <textarea rows="4" cols="500" name="questiontext" id="questiontext" > <?php print $view->questions->getQuestion_Text() ?></textarea>
                </td>
            </tr>
                        <tr>
                        <td> <label>Option a) </label></td>
                        <td colspan="5"> <textarea rows="1" cols="200" name="Optiontext[]" id="text1"> </textarea> </td>
                    </tr>
                    <tr>
                        <td> <label> Option b) </label></td>
                        <td colspan="5"> <textarea rows="1" cols="200" name="Optiontext[]" id="text2"> </textarea> </td>
                    </tr>
<tr>
<td>
</td>
</tr>
 </table>`
我的问题是如何将textarea的值传递给jquery函数,因为可以动态创建textarea

我尝试在php中直接访问textarea的值,如下所示,但没有传递这些值:

            $option_key = 1;
            for($i = 0;$i<= count($_POST['Optiontext']);$i++){
                 $option = $_POST['Optiontext'][$i];
                 if(isset($option))
                    {               
                        $query_options="INSERT INTO `XXX`(`Question_ID`, `Option_Key`, `Option_Value`) VALUES ($max_id,'$option_key','$option')";   
                        $sql = mysql_query($query_options)or die($query_options."<br/><br/>".mysql_error());
                        $option_key = $option_key + 1;  
                    }
               }// for loop ends

每个textarea的内容都以逗号分隔的变量“Optiontext[]”发布到表单中。
由于可以在文本区域中添加逗号,因此尝试将数据拆分回正确的字段可能会很有趣!可能更好的解决方案是有限数量的具有唯一名称的textarea字段,或者根据需要使用javascript/jQuery动态创建它们。

我能够通过map函数传递TextBox的值,如下所示

  $(document).ready(function(){
       $('#question').live('submit',function(){
        var params={};
        params.action='saveQuestion';
        params.questionid=$('#questionid').val();
        params.questiontext=$('#questiontext').val();
        var Optiontext = [];
        Optiontext = $('textarea[name^="Optiontext\\["]').map(function() {
                      var value_textarea = $(this).val();
                    if(value_textarea && value_textarea != ' ')
                      { 
                            return $(this).val();   
                      }

        }).get();
          params.Optiontext=Optiontext;


        return false;
    }) });

另外,请参见此问题的答案:
  $(document).ready(function(){
       $('#question').live('submit',function(){
        var params={};
        params.action='saveQuestion';
        params.questionid=$('#questionid').val();
        params.questiontext=$('#questiontext').val();
        var Optiontext = [];
        Optiontext = $('textarea[name^="Optiontext\\["]').map(function() {
                      var value_textarea = $(this).val();
                    if(value_textarea && value_textarea != ' ')
                      { 
                            return $(this).val();   
                      }

        }).get();
          params.Optiontext=Optiontext;


        return false;
    }) });