<input name="cb" type="checkbox" id="set_2" value="20"/> Project<td><i class = "pro_hidden pro_option_set_2"> Included</i></td>
如果选中该复选框,则取值20,如果未选中,则不会显示该值,但会显示Notice: Undefined index: cb
如果选中该复选框,则还包含javascript。如果没有检查它什么都不显示... javascript编码这个
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js">/script>
<script>
$('.pro_hidden').css({
'display': 'none'
});
$(':checkbox').change(function() {
var option = 'pro_option_' + $(this).attr('id');
if ($('.' + option).css('display') == 'none') {
$('.' + option).fadeIn();
}
else {
$('.' + option).fadeOut();
}
});
</script>
我正在尝试添加值:
<tr>
<td>duration</td>
<td><input type="text" name="duration" values="">
</td>
</tr>
<tr>
<td><input type="radio" name="rd" value="2" required>2hrs</td>
<td><input type="radio" name="rd" value="4" required>4hrs</td>
</tr>
<tr>
<td>
<input name="cb" type="checkbox" id="set_2" value="20"> Project<td><i class = "pro_hidden pro_option_set_2"> 20hrs Included</i></td>
</td>
这是我的整个代码,如果提交此表单,则转到下一页并使用php
添加值 <?php
$du=$_POST['duration'];
$cb=$_POST['cb'];
$c=$_POST['rd'];
$sum=($du+$cb)/$c;
echo $sum;
?>
如果未选中复选框,则此处显示错误...如果未选中该复选框,则如何进行编码?
答案 0 :(得分:0)
如果未选中该复选框,则不传递任何值。因此,在复选框之前,您必须使用相同的名称和默认值。
<input name="cb" value="default" type="hidden">
<input name="cb" type="checkbox" id="set_2" value="20">
答案 1 :(得分:0)
如果未选中复选框,则不会将其提交给服务器,因此在PHP中未定义。在访问任何isset
或$_GET
变量之前,您必须使用$_POST
函数。
而不是这个
$du = $_POST['duration'];
$cb = $_POST['cb'];
$c = $_POST['rd'];
你应该这样做
if(isset($_POST['duration']))
$du = $_POST['duration'];
if(isset($_POST['cb']))
$cb = $_POST['cb'];
if(isset($_POST['rd']))
$c = $_POST['rd'];
有关详细信息,请参阅documentation。