2015-07-01 17 views
0

PHP頁面我有文本框的列表如下:通值,那麼爲值存儲到數據庫

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

我需要的值傳遞給jQuery函數如下:

 $(document).ready(function(){ 
      $('#question').live('submit',function(){ 
      var params={}; 
      params.action='saveQuestion'; 
      params.questionid=$('#questionid').val(); 
      params.questiontext=$('#questiontext').val(); 
      return false; 
     }) 
}); 

我的問題是我如何通過textarea的值了jQuery功能的te​​xtarea可以動態創建。

我試圖直接訪問在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 

回答

0

我能夠映射函數來傳遞文本框的值如下

$(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; 
    }) }); 
0

每個TextArea的內容被髮布到形式爲逗號分隔的可變稱爲「Optiontext []」。 由於可以在textareas中添加逗號,因此嘗試將數據拆分回正確的字段會變得很有趣!可能更好的解決方案是使用唯一名稱的有限數量的textarea字段,或者根據需要使用javascript/jQuery動態創建它們。

+0

另外,看到對此問題的回答:http://stackoverflow.com/questions/6520667/multiple-textarea-with-同一名稱和PHP處理 – jtb