2013-04-17 2 views
1

Я посмотрел повсюду и попробовал все виды скриптов, но я продолжаю сталкиваться с той же проблемой.javascript не работает во всех браузерах

Я пытаюсь отключить или скрыть кнопку отправки до тех пор, пока не будет установлен флажок.

Проблема, с которой я столкнулась, заключается в том, что в 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.

Что мне нужно, это помочь получить что-то для работы во всех браузерах.

ответ

2

Первый пример, скорее всего, будет работать с некоторыми браузерами, а не с другими, в зависимости от того, помещают ли элементы в объекты window или document через их идентификатор.

Чтобы исправить это, используйте 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; 
} 
+0

С возвращением ... – gdoron

+0

@gdoron: То же самое для вас! :-) Не уверен, как долго я вернусь, но я не скучал по ленивым людям. – 2013-04-17 00:58:35

+0

Что вы подразумеваете под глобальным? –

Смежные вопросы