javascript无法在所有浏览器中使用

时间:2013-04-17 00:34:26

标签: javascript button input

我已经到处寻找所有类型的脚本,但我一直遇到同样的问题。

我正在尝试禁用或隐藏提交按钮,直到选中复选框。

我遇到的问题是除非我打开兼容性,否则IE10中没有任何工作,并且它们在大多数情况下都不能在FF 20.0.1中运行。

这是我到目前为止所尝试的内容。


    <input type="checkbox" name="agree" value="yes" onclick="agreed.disabled = !this.checked" />Do you Agree? &nbsp;
    <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? &nbsp;
<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? &nbsp;
            <input type="submit" name="agreed" id="agreed" value="{L_AGREE}" class="button1" disabled="disabled" />

我已经尝试了很多其他方法,但仍然遇到IE10或FF的问题。

我需要的是帮助您在所有浏览器中使用。

1 个答案:

答案 0 :(得分:2)

第一个示例更有可能适用于某些浏览器,而不是其他浏览器,具体取决于它们是否通过ID在windowdocument个对象上添加了元素。

要解决此问题,请使用document.getElementById()

<input type="checkbox" name="agree" value="yes" onclick="document.getElementById('agreed').disabled = !this.checked" />Do you Agree? &nbsp;
<input type="submit" name="agreed" id="agreed" value="{L_AGREE}" class="button1" disabled="disabled" />

第二个应该可以在任何浏览器中工作,只要该功能是全局的,但你可以缩短它。

function checkSubmit(ele, id) {
    document.getElementById(id).disabled = !ele.checked;
}