2

我的网站上有以下代码,它适用于除 IE8 之外的所有浏览器:

$('#callback-submit').click(function(){
    var company_id = $('#company_id').val();
    var number = $('#callback-field').val();
    $.ajax({
        type: "POST",
        url: "ajax.php?action=callback",
        data: {
            company_id: company_id, 
            number: number
        }
    }).done(function( msg ) {
        $('#contactbox').hide('slide', {
            direction: 'right'
        }, 1000);
        $('#contact').addClass('bedankt');
    }); 
});

如果我点击回调提交,没有任何反应,但是当我点击网站上的所有其他位置时,它就会被触发。

Any1 知道如何解决这个问题,因为它让我发疯!

谢谢

编辑:完整的 HTML

            <div id="contactbox">
                <div id="contactbox-header">
                    <input type="hidden" id="company_id" value="<?php echo $company->id; ?>" />
                </div>
                <div id="contactbox-left">
                    <img src="<?php echo $company->image_contact; ?>" alt="<?php echo $company->company_name; ?>" />
                    <p>
                        blabla
                    </p>
                </div>
                <div id="contactbox-right">
                    <div id="contactbox-right-header" class="<?php if ($company->phone == "") echo "blue-out"; ?>">
                        <span>Heeft u een vraag en wilt u dat wij u terugbellen? Laat dan hieronder uw naam en telefoonnummer achter.</span>
                    </div>
                    <div id="contactbox-right-callback-form" class="<?php if ($company->phone == "") echo "blue-out"; ?>">
                        <input type="text" id="callback-field"  onblur="if(this.value=='')this.value='uw naam en telefoonnummer';" onfocus="if(this.value=='uw naam en telefoonnummer')this.value='';" value="uw naam en telefoonnummer" />
                        <span id="callback-submit">
                    </div>
                    <div id="contactbox-right-mid">
                        Stuur ons een bericht
                    </div>
                    <div id="contactbox-right-contactform">
                        <input type="text" id="email-field"  onblur="if(this.value=='')this.value='e-mail adres';" onfocus="if(this.value=='e-mail adres')this.value='';" value="e-mail adres" />
                        <textarea id="message-field" class="texareabox-1"></textarea>
                        <span id="message-submit">
                    </div>
                </div>
                <div class="clr"></div>
            </div>

完整的JS

$(function() {

    // CONTACT FORM

    // SLIDING
    $('#contact').click(function(){
        $('#contactbox').show();
            $('#contact').removeClass('bedankt');
    });
    $('#contactbox-header').click(function(){
        $('#contactbox').hide();
    });

    // Callback AJAX
    $('#callback-submit').click(function(){
        var company_id1 = $('#company_id').val();
        var number1 = $('#callback-field').val();
        $.ajax({
            type: "POST",
            url: "ajax.php?action=callback",
            data: {
                company_id: company_id1, 
                number: number1
            }
        }).done(function( msg ) {
            $('#contactbox').hide();
            $('#contact').addClass('bedankt');
        }); 
    });

    // Message AJAX
    $('#message-submit').click(function(){
        var company_id1 = $('#company_id').val();
        var message1 = $('#message-field').val();
        var email1 = $('#email-field').val();
        $.ajax({
            type: "POST",
            url: "ajax.php?action=message",
            data: {
                company_id: company_id1, 
                message: message1,
                email: email1
            }
        }).done(function( msg ) {
            $('#contactbox').hide();
            $('#contact').addClass('bedankt');
        });
    });
});
4

1 回答 1

2

更改您的 JavaScript 变量名称。这是一个已知的 IE 问题。js 变量和数据变量名不能相同。

var company_id1 = $('#company_id').val();
var number1 = $('#callback-field').val();

 data: {
            company_id: company_id1, /* Shouldn't be the same name */
            number: number1
        }

此外,您应该关闭 span 标签</span>

<span id="callback-submit">callback</span>
<span id="message-submit">message</span>
于 2013-06-11T12:05:22.590 回答