是否可以通过复选框提交传递多个值。我需要将value
和data-export
传递给php中的insert语句?在PHP中可以吗?
示例(HTML):
<input type="checkbox" data-export="<?= $list1['export_charges']; ?>" name="chk_export[exportinr]" value="<?= $list1['export_charges_inr']; ?>">
在PHP中:
$exportinr = $_POST['chk_export']['exportinr'];
答案 0 :(得分:0)
使用像这样的分隔符:
<input value="value#data-export-value" name="somefield">
然后在PHP中:
list($value, $dataexport) = explode("#", $_POST["somefield"]);
// $value and $dataexport will hold the appropriate values
或者尝试使用图书馆,例如jQuery的:
$("#formName").on('submit', function(evt) {
evt.preventDefault();
var fieldvalue = $("#somefield").val();
var fielddata = $("#somefield").data('export');
var data = {fieldvalue: fieldvalue, fielddata: fielddata};
$.ajax({
type: "POST",
url: url,
data: data
});
});
在PHP中,您可以访问fieldvalue&amp; fielddata如此:
$fieldvalue = $_POST["fieldvalue"];
如果您之前从未使用过jQuery,请更好地使用分隔符解决方案。
答案 1 :(得分:0)
我认为使用当前代码,它只会传递一个值,
name="chk_export[exportinr]"
像这样改变
name="chk_export[exportinr][]"
或
name="chk_export[]"
答案 2 :(得分:0)
这是一个解决方案
<input type='checkbox' value='.$list1['export_charges_inr'].' name="chk_export[]" />
<input type='checkbox' value='.$list1['export_charges'].' name="chk_export[]" />
获取值的Php代码
$numb = count($chk_export);
for($i=0;$i<=($numb - 1);$i++){
echo $chk_export[$i];
}
还有一个解决方案是
<input type="checkbox" value="'.$list1['export_charges'].':'.$list1['export_charges_inr'].'" name="chk_export" />
在php中
$pieces = explode(":", $_POST['chk_export']);
echo $pieces[0];
echo $pieces[1];
答案 3 :(得分:0)
data- *属性旨在由客户端代码处理。
如果您想提交两个或更多值,您可以使用其他解决方案:
使用您定制的值模式并发布它们,即
<input type="checkbox" name="chk_export" value='.$list1['export_charges'].'-'.$list1['export_charges_inr'].'>
并在PHP端接收post值并在&#39; - &#39;
中将其展开 $arr = explode("-", $_POST["chk_export"]);
答案 4 :(得分:0)
您的输入标记应该是这样的
<input type="checkbox" data-export='.$list1['export_charges'].' name="chk_export[exportinr][]" value='.$list1['export_charges_inr'].'>
现在要获取每个复选框的值,你必须使用php for loop这样的东西:
$ N = count($ _ POST ['chk_export [exportinr] []']);
for($i=0; $i < $N; $i++)
{
echo($_POST['chk_export[exportinr][$i]']);
}