我已经到处寻找所有类型的脚本,但我一直遇到同样的问题。
我正在尝试禁用或隐藏提交按钮,直到选中复选框。
我遇到的问题是除非我打开兼容性,否则IE10中没有任何工作,并且它们在大多数情况下都不能在FF 20.0.1中运行。
这是我到目前为止所尝试的内容。
<input type="checkbox" name="agree" value="yes" onclick="agreed.disabled = !this.checked" />Do you Agree?
<input type="submit" name="agreed" id="agreed" value="{L_AGREE}" class="button1" disabled="disabled" />
<script type="text/javascript">
function checkSubmit(ele, id) {
x = document.getElementById(id);
if (ele.checked == true) x.disabled = false;
else x.disabled = true;
}
</script>
<input type="checkbox" name="myCheck" onclick="checkSubmit(this, 'agreed')" value="y" />Do you Agree?
<input type="submit" name="agreed" id="agreed" value="{L_AGREE}" class="button1" disabled="disabled" />
<script type='text/javascript' src='http://code.jquery.com/jquery-1.7.1.js'></script>
<script type='text/javascript'>//<![CDATA[
$(window).load(function(){
$("#terms").click(function() {
if ($(this).is(':checked')) {
$('#agreed').removeAttr('disabled');
} else {
$('#agreed').attr('disabled', 'disabled');
}
});
});//]]>
</script>
<input type="checkbox" class="required" id="terms"/>Do you Agree?
<input type="submit" name="agreed" id="agreed" value="{L_AGREE}" class="button1" disabled="disabled" />
我已经尝试了很多其他方法,但仍然遇到IE10或FF的问题。
我需要的是帮助您在所有浏览器中使用。
答案 0 :(得分:2)
第一个示例更有可能适用于某些浏览器,而不是其他浏览器,具体取决于它们是否通过ID在window
或document
个对象上添加了元素。
要解决此问题,请使用document.getElementById()
。
<input type="checkbox" name="agree" value="yes" onclick="document.getElementById('agreed').disabled = !this.checked" />Do you Agree?
<input type="submit" name="agreed" id="agreed" value="{L_AGREE}" class="button1" disabled="disabled" />
第二个应该可以在任何浏览器中工作,只要该功能是全局的,但你可以缩短它。
function checkSubmit(ele, id) {
document.getElementById(id).disabled = !ele.checked;
}