我已经制作了一个通过电子邮件提交的php表单。我正在尝试创建条件复选框,以便如果选中一个特定复选框,则无法选择其他两个复选框,如果选中这两个复选框中的一个或两个,则第一个复选框不能。我的代码看起来像这样
<p>Ribeye Steak <input type="checkbox" name="Ribeye steak" value="Ribeye Steak"/> </p>
<p>Ribeye Roast (prime rib) <input type="checkbox" name="Ribeye Roast" value="ribeye roast" /> </p>
<p>Sirloin Steak <input type="checkbox" name="Tenderloin roast" value="Tenderloin roast" /> </p>
<p>T-bone steak <input type="checkbox" name="T-bone" value="T-bone steak" />
or New York Strip steak <input type="checkbox" name="NY" value="New York Strip" />
and/or Tenderloin Filets <input type="checkbox" name="Filets" value="Filets steaks" /> </p>
<?php
if($_GET['T-bone steak'] == 'T-bone steak' AND $_GET['New York Strip'] == 'New York Strip') {
echo "You cannot select T-bone steak and NY Stip or Tenderloin. Please select T-bone or NY Strip and/or Tenderloin.";
} else if($_GET['T-bone steak'] == 'T-bone steak' AND $_GET['Filets steaks'] == 'Filets steaks'){
echo "You cannot select T-bone steak and NY Stip or Tenderloin. Please select T-bone or NY Strip and/or Tenderloin.";
}
else{
}
?>
文件打开时没有任何反应。它仍然允许我选择任何或所有三个复选框。 有任何想法吗? 谢天谢地。
答案 0 :(得分:3)
您需要使用RADIO BUTTONS 并对其进行分组,而不是通过复选框进行分组。
Radio Buttons固有地支持“当选择一个时无法选择其他两个”的功能。
答案 1 :(得分:1)
无法直接在浏览器中打开.php文件,例如.html文件。 PHP是一种服务器端语言,这意味着它需要一个运行php文件的服务器。 您必须在计算机上安装虚拟服务器。如果您安装了Windows,则可以使用WAMP,这是一个用于创建PHP和Apache虚拟服务器的免费程序。
答案 2 :(得分:1)
以下代码应该这样做。它使用jQuery来处理复选框的状态。
我在Firefox 3.6.8,Chrome 6.0.472.53 beta和IE 8.0.7600.16385中进行了测试。它在所有这些方面都适合我。
<html>
<head>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<title>My Page</title>
<script type="text/javascript">
$(document).ready(function()
{
$('input:checkbox').click(function()
{
if ($('#T-bone').is(':checked'))
{
$('#NY').attr("disabled", true);
$('#Filets').attr("disabled", true);
}
else
{
$('#NY').attr("disabled", false);
$('#Filets').attr("disabled", false);
}
if($('#NY').is(':checked') || $('#Filets').is(':checked'))
{
$('#T-bone').attr("disabled", true);
}
else
{
$('#T-bone').attr("disabled", false);
}
});
});
</script>
</head>
<body>
<p>Ribeye Steak
<input type="checkbox" name="Ribeye steak" value="Ribeye Steak"/>
</p>
<p>Ribeye Roast (prime rib)
<input type="checkbox" name="Ribeye Roast" value="Ribeye Roast" />
</p>
<p>Sirloin Steak
<input type="checkbox" name="Tenderloin roast" value="Tenderloin roast" />
</p>
<p>T-bone steak
<input type="checkbox" id="T-bone" name="T-bone" value="T-bone steak" />
or New York Strip steak
<input type="checkbox" id="NY" name="NY" value="New York Strip" />
and/or Tenderloin Filets
<input type="checkbox" id="Filets" name="Filets" value="Filets steaks" />
</p>
</body>
</html>
修改强>
确保复制整个脚本标记。
目前您的网页上有这个(您错过了$(document).ready(function()
行):
<script type="text/javascript">
{
$('input:checkbox').click(function()
{
if ($('#T-bone').is(':checked'))
{
$('#NY').attr("disabled", true);
$('#Filets').attr("disabled", true);
}
else
{
$('#NY').attr("disabled", false);
$('#Filets').attr("disabled", false);
}
if($('#NY').is(':checked') || $('#Filets').is(':checked'))
{
$('#T-bone').attr("disabled", true);
}
else
{
$('#T-bone').attr("disabled", false);
}
});
});
</script>
应该有这个:
<script type="text/javascript">
$(document).ready(function()
{
$('input:checkbox').click(function()
{
if ($('#T-bone').is(':checked'))
{
$('#NY').attr("disabled", true);
$('#Filets').attr("disabled", true);
}
else
{
$('#NY').attr("disabled", false);
$('#Filets').attr("disabled", false);
}
if($('#NY').is(':checked') || $('#Filets').is(':checked'))
{
$('#T-bone').attr("disabled", true);
}
else
{
$('#T-bone').attr("disabled", false);
}
});
});
</script>