0

私は実際にある種の迷惑な IE BUG を修正しようとしています。

ポリシーのチェックボックスと送信ボタンを備えた html フォームを作成しました。ポリシーのチェックボックスが「チェック」されていない限り、送信ボタンは無効になっています。これはすべてjqueryで行いました。

奇妙なことに、クロム、ff、サファリではすべてうまく機能しますが、ボタンが「無効」ステータスを失った後、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');

これを回避する方法はありますか?

4

1 に答える 1

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');
            }
            });
    }
于 2013-02-22T16:07:39.717 に答える