将相同名称的文本框的值传递给jquery,然后传递给php页面,以便将值存储到数据库中
pass values of textboxes of the same name to jquery and then to php page for storing the values to database
我有一个文本框列表,如下所示:
` <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函数,因为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
每个文本区域的内容都作为逗号分隔的变量"Optiontext[]"发布到表单中。由于可以在文本区域中添加逗号,因此尝试将数据拆分回正确的字段可能会很有趣!一个更好的解决方案可能是使用有限数量的具有唯一名称的文本区域字段,或者根据需要使用javascript/jQuery动态创建它们。
我能够通过映射函数传递文本框的值,如下所示
$(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;
}) });
相关文章:
- 如何通过php页面将数据库值检索到jquery自动完成框中
- 从MySQL数据库中获取输入数据需要两次页面刷新
- HTML按钮刷新页面而不是将数据发送到数据库
- 为什么 Javascript 和 AJAX 调用(在页面加载时)会导致数据库行为空?(脸书画布)
- 如何获取所有旅行模式的距离和持续时间,例如驾驶,公交,骑自行车,在我的页面中步行以及将其存储在数据库中
- 如何在不刷新页面的情况下从 PHP 中的 SQL Server 数据库获取数据
- 在数据库中插入数据后,无法重定向到 HTML 页面
- 在 HTML 页面上显示数据库表,而无需离开 HTML 页面
- 将表单数据插入数据库后无法重定向到 html 页面
- 如何高亮显示选定的文本并存储在数据库中,以及当页面重新加载时,如何高亮显示回选定的文本
- 从数据库中检索数据而不刷新页面
- PHP-插入数据库而不刷新页面(OOP)
- 在数据绑定到数据库之前加载页面
- 需要 Ajax 函数 - 在不刷新页面的情况下更新数据库
- 使用下拉列表中的值查询 MySQL 数据库,然后使用结果填充文本字段而不刷新页面
- 使用 JSON 从数据库检索纬度经度到 PHP 页面
- 在离开页面之前插入到数据库中
- 在不超出页面的情况下更新数据库
- 如何在不刷新页面的情况下从数据库(mysql)加载更新的数据
- Chrome 扩展 WebSQL - 需要背景和内容页面才能访问相同的数据库,但它们不需要