Php 禁用javascript时模拟单击功能
在我的页面中有以下输入单选按钮(除其他外),选中该单选按钮后会显示一个选择输入框 这是使用javascript实现的。现在,如果禁用javascript,客户端还希望单击单选按钮时显示此选择框 如果没有javascript,这可能吗? 我看到的唯一的另一种方式是有一个中间表单提交按钮,它可以处理?我不知道该怎么办。 任何帮助都将不胜感激 以下是我目前的代码:Php 禁用javascript时模拟单击功能,php,javascript,html,Php,Javascript,Html,在我的页面中有以下输入单选按钮(除其他外),选中该单选按钮后会显示一个选择输入框 这是使用javascript实现的。现在,如果禁用javascript,客户端还希望单击单选按钮时显示此选择框 如果没有javascript,这可能吗? 我看到的唯一的另一种方式是有一个中间表单提交按钮,它可以处理?我不知道该怎么办。 任何帮助都将不胜感激 以下是我目前的代码: <td style="visibility:<?= $Visible;?>" id="rmark1"><sp
<td style="visibility:<?= $Visible;?>" id="rmark1"><span>Mark question?</span></td>
<td style="visibility:<?= $Visible;?>" id="rmark2" nowrap>
<input type="radio" id="mail1" name="mail" value="GE" onClick="showMark();" <?= $check;?> >
<select id="ReturnMarkings" name="ReturnMarkings">
<option value=''>Please Choose One:</option>
<option value='1' <?= $Array[1];?>>Mark 1</option>
<option value='2' <?= $Array[2];?>>Mark 2</option>
</select>
function showMark() {
var pcRMark1=document.getElementById('rmark1');
var pcRMark2=document.getElementById('rmark2');
pcRMark1.style.visibility="visible";
pcRMark2.style.visibility="visible";
}
>标记1
不,没有JavaScript是不可能的。根据浏览器的CSS支持,这可能会起作用:
#返回标记{显示:无;}
#mail1:checked+#returnmarkes{display:inline;}
看
它依赖于CSS相邻同级选择器,IE8+根据支持该选择器。我还依赖于伪类,根据MDN,它是IE9+。要实现类似的效果,需要结合使用PHP和CSS。必须应用以下更改。(抓紧点,这不好看)
单选按钮需要更改为链接,假设您的页面名为form.php,则链接必须如下所示:
<a href='form.php?showmark=true'>Show Mark</a>
在选择框下方添加以下逻辑,PHP将通过该逻辑注入CSS,使下拉列表可见:
<select id="ReturnMarkings" name="ReturnMarkings">
<option value=''>Please Choose One:</option>
<option value='1' <?= $Array[1];?>>Mark 1</option>
<option value='2' <?= $Array[2];?>>Mark 2</option>
</select>
<?
if(isset($_GET["showmark"])) {
?>
<style type='text/css'>
#ReturnMarkings {
visibility:visible!important;
}
</style>
<?
}
?>
请选择一个:
>马克2
#返回标记{
可见性:可见!重要;
}
我并不特别建议混合使用PHP/Markup/CSS,但这可能是您唯一的解决方案。@bfavareto和@lostsource答案都很好——但这不需要PHP,在Chrome中也可以使用:
<style type="text/css">
#ReturnMarkings {
display: none;
}
:target {
display: inline !important;
}
</style>
<input type="radio" id="mail1" name="mail" value="GE"><a style='width:12px; height:12px; display:inline-block; margin-left:-12px;' href='#ReturnMarkings'></a>
<select id="ReturnMarkings" name="ReturnMarkings">
<option value=''>Please Choose One:</option>
<option value='1'>Mark 1</option>
<option value='2'>Mark 2</option>
</select>
#返回标记{
显示:无;
}
:目标{
显示:内联!重要;
}
请选择一个:
马克1
马克2
单选按钮链接代码@lostsource的道具
演示@
编辑:
正如评论中指出的,这实际上并没有“检查”radiobutton。下面是一个需要修复的廉价黑客,在JSFIDLE之外未经测试:
您不需要PHP来完成此操作,您可以将第一个链接转到#ReturnMarkes,然后使用:target Selector如果OP真的想要一个复选框,他可以通过在您的答案上放置编辑好的“我的评论”和+1来点击取消点击,但您不能在单选按钮上使用标记。另一个答案是好的,但在大多数主流浏览器中不起作用。你可以,有点。。当然,我假设宽度和高度是个好主意——只是添加了一个我自己的好东西的答案!只是出于好奇,是否也可以通过CSS修改单选按钮状态?这里有很多很棒的答案!我选择杰夫的答案,因为这对我来说很有效。我也感谢lostsource和bfavaretto@lostsource啊,我都没注意到!不知道如何使用css检查单选按钮,但这里有一个便宜的黑客!