2013-02-22 82 views
0

我實際上試圖解決某種annoing IE BUG。Internet Explorer輸入字段不會工作後狀態更改禁用 - >啓用

我創建了一個帶有policys和提交按鈕的複選框的html表單。 只要策略複選框未被「檢查」,提交按鈕就被禁用。 所有這一切,我用jQuery完成。

奇怪的是,它在鉻,ff和safari中都很好用,但在IE瀏覽器失去「禁用」狀態後,它停止工作。它仍然顯示爲鏈接,但是當我點擊它時,沒有任何反應。

這裏是我的腳本,我使用禁用和啓用按鈕:

/* Webform/Newsletter Checkbox + Mailfield validation */ 

var mailCheckbox = $('#webform-component-e-mail #edit-submitted-e-mail-newsletter-selection div').size(); 
var copyCheckbox = $('.webform-client-form input#edit-submitted-email-abmeldung-1, .webform-client-form #webform-component-datenschutzbestimmungen input#edit-submitted-datenschutzbestimmungen-1').size(); 


if(mailCheckbox > 1) { 
     var submitButton = $('.webform-client-form #edit-actions').html(); 
      $('.webform-client-form #edit-actions').html('<input disabled type="submit" class="form-submit-disabled" value="Bestellen" name="op" id="edit-submit">') 
      $('body').mousemove(function() { 
     if ($('#edit-submitted-e-mail-newsletter-selection .form-checkbox').is(':checked') && $('#webform-component-email-abmeldung .form-checkbox').is(':checked') && $('#webform-component-e-mail #edit-submitted-e-mail-newsletter-email-address').val() != "") { 
      $('.node-webform .webform-client-form #edit-actions').html('<input type="submit" class="form-submit" name="op" value="Absenden" id="edit-submit">') 
      $('.node-newsletter-anmeldung .webform-client-form #edit-actions').html('<input type="submit" class="form-submit" name="op" value="Bestellen" id="edit-submit">') 
     } 
     else { 
      $('.node-webform .webform-client-form #edit-actions').html('<input disabled type="submit" class="form-submit-disabled" value="Absenden" name="op" id="edit-submit">') 
      $('.node-newsletter-anmeldung .webform-client-form #edit-actions').html('<input disabled type="submit" class="form-submit-disabled" value="Bestellen" name="op" id="edit-submit">')    
     } 
     }); 
} 
else { 
     var submitButton = $('.webform-client-form #edit-actions').html(); 
      $('.webform-client-form #edit-actions').html('<input disabled type="submit" class="form-submit-disabled" value="Bestellen" name="op" id="edit-submit">') 
      $('body').mousemove(function() { 
     if ($('#webform-component-email-abmeldung .form-checkbox, #webform-component-datenschutzbestimmungen .form-checkbox').is(':checked') && $('#webform-component-e-mail #edit-submitted-e-mail-newsletter-email-address, #webform-component-webform-kontakt-email #edit-submitted-webform-kontakt-email').val() != "") { 
      $('.node-webform .webform-client-form #edit-actions').html('<input type="submit" class="form-submit" name="op" value="Absenden" id="edit-submit">') 
      $('.node-newsletter-anmeldung .webform-client-form #edit-actions').html('<input type="submit" class="form-submit" name="op" value="Bestellen" id="edit-submit">') 
     } 
     else { 
      $('.node-webform .webform-client-form #edit-actions').html('<input disabled type="submit" class="form-submit-disabled" value="Absenden" name="op" id="edit-submit">') 
      $('.node-newsletter-anmeldung .webform-client-form #edit-actions').html('<input disabled type="submit" class="form-submit-disabled" value="Bestellen" name="op" id="edit-submit">') 
     } 
     }); 
} 

$('body.node-type-newsletter-anmeldung #edit-submit').attr('value', 'Bestellen'); 
$('body.node-webform #edit-submit').attr('value', 'Absenden'); 

不知道如何解決這個?

+0

儘量保持'警報(「你好」)'一步一步在代碼跟蹤錯誤。 (老,但作品) – 2013-02-22 10:53:20

回答

0

我把它通過自己的工作,其他任何人在這個問題上運行,這是我如何解決它:

/* Webform/Newsletter Checkbox + Mailfield validation */ 

    var mailCheckbox = $('#webform-component-e-mail #edit-submitted-e-mail-newsletter-selection div').size(); 
    var copyCheckbox = $('.webform-client-form input#edit-submitted-email-abmeldung-1, .webform-client-form #webform-component-datenschutzbestimmungen input#edit-submitted-datenschutzbestimmungen-1').size(); 

    $('.webform-client-form #edit-actions input').addClass('button_active'); 
    $('.webform-client-form #edit-actions').append('<div class="button_inactive"><input disabled type="submit" class="form-submit-disabled" value="Bestellen" name="op" id="edit-submit"></div>') 

    if(mailCheckbox > 1) { 
      var submitButton = $('.webform-client-form #edit-actions').html(); 
       $('.webform-client-form #edit-actions .button_active').css('display','none'); 
       $('body').mousemove(function() { 
      if ($('#edit-submitted-e-mail-newsletter-selection .form-checkbox').is(':checked') && $('#webform-component-email-abmeldung .form-checkbox').is(':checked') && $('#webform-component-e-mail #edit-submitted-e-mail-newsletter-email-address').val() != "") { 
       $('.node-webform .webform-client-form #edit-actions .button_active').css('display', 'block') 
       $('.node-webform .webform-client-form #edit-actions .button_inactive').css('display', 'none') 
       $('.node-newsletter-anmeldung .webform-client-form #edit-actions .button_active').css('display', 'block') 
       $('.node-newsletter-anmeldung .webform-client-form #edit-actions .button_inactive').css('display', 'none') 
      } 
      else { 
       $('.node-webform .webform-client-form #edit-actions .button_active').css('display','none'); 
       $('.node-webform .webform-client-form #edit-actions .button_inactive').css('display','block'); 
       $('.node-newsletter-anmeldung .webform-client-form #edit-actions .button_active').css('display','none'); 
       $('.node-newsletter-anmeldung .webform-client-form #edit-actions .button_inactive').css('display','block'); 
      } 
      }); 
    } 
    else { 
      var submitButton = $('.webform-client-form #edit-actions').html(); 
       $('.webform-client-form #edit-actions .button_active').css('display','none'); 
       $('body').mousemove(function() { 
      if ($('#webform-component-email-abmeldung .form-checkbox, #webform-component-datenschutzbestimmungen .form-checkbox').is(':checked') && $('#webform-component-e-mail #edit-submitted-e-mail-newsletter-email-address, #webform-component-webform-kontakt-email #edit-submitted-webform-kontakt-email').val() != "") { 
       $('.node-webform .webform-client-form #edit-actions .button_active').css('display', 'block') 
       $('.node-webform .webform-client-form #edit-actions .button_inactive').css('display', 'none') 
       $('.node-newsletter-anmeldung .webform-client-form #edit-actions .button_active').css('display', 'block') 
       $('.node-newsletter-anmeldung .webform-client-form #edit-actions .button_inactive').css('display', 'none') 
      } 
      else { 
       $('.node-webform .webform-client-form #edit-actions .button_active').css('display','none'); 
       $('.node-webform .webform-client-form #edit-actions .button_inactive').css('display','block'); 
       $('.node-newsletter-anmeldung .webform-client-form #edit-actions .button_active').css('display','none'); 
       $('.node-newsletter-anmeldung .webform-client-form #edit-actions .button_inactive').css('display','block'); 
      } 
      }); 
    } 
相關問題