无法使用jQuery填充div.innerHTML

无法使用jQuery填充div.innerHTML,jquery,Jquery,我面临一个相当奇怪的问题。我用的是典型的联系方式。处理由jqueryajax解决方案完成。除了结果消息之外,一切都很顺利。出于某种奇怪的原因,浏览器不会显示提供的innerHTML 结果div只不过是:。是的。。它是一个空div,不受CSS的影响,只是等待一些数据显示 我使用的jQuery代码是(由给定的帖子更新的): $(“#联系formulier”).live('submit',function(){ var str=$(this.serialize(); $.ajax({ 类型:“POST

我面临一个相当奇怪的问题。我用的是典型的联系方式。处理由jqueryajax解决方案完成。除了结果消息之外,一切都很顺利。出于某种奇怪的原因,浏览器不会显示提供的innerHTML

结果div只不过是:
。是的。。它是一个空div,不受CSS的影响,只是等待一些数据显示

我使用的jQuery代码是(由给定的帖子更新的):

$(“#联系formulier”).live('submit',function(){
var str=$(this.serialize();
$.ajax({
类型:“POST”,
url:“ajax.php?type=contact”,
数据:str,
成功:函数(结果){
$(“#ResultContactForm”).ajaxComplete(函数(事件、请求、设置){
如果(结果){
$(this.html)(
$('', {
样式:“颜色:#76c5f0”,
html:$(“”{
文字:“Bedankt voor je bericht!我们nemen zo snel mogelijk联系人遇到了je op!”
})
})
);
$(“:输入”、“#联系公式制定者”)
.not(“:按钮,:提交,:重置,:隐藏”)
.val(“”);
}否则{
$(this.html)(
$('', {
样式:“颜色:#FF0000”,
html:$(“”{
文字:“在瓦伦的所有地方。”
})
})
);
}                   
});
}
});
返回false;
});
这一切都很有效,因为当我在
if{}else{}
部分中添加一些警报时,我会收到消息。我有一个
if(document.getElementById()==undefined)
,但它告诉我div存在。。这当然是真的;)

我是不是忽略了什么?我有完全相同的(除了绑定ID)脚本用于页面上的另一个表单,它可以正常工作

可以在contactpage上找到一个实例。(该网站使用荷兰语)。

它是一个,而不是一个财产:

$(this).html('<span style="color:#FF0000;"><strong>Alle velden zijn verplicht in te vullen.</strong></span>');
它是一个,而不是一个财产:

$(this).html('<span style="color:#FF0000;"><strong>Alle velden zijn verplicht in te vullen.</strong></span>');
你试过了吗

$(this).html("<span style='color:#FF0000;'><strong>Alle velden zijn verplicht in te vullen.</strong></span>");
$(this.html(Alle velden zijn verplicht in te vullen.);
style='color:#FF0000;中也用单引号替换双引号

你试过了吗

$(this).html("<span style='color:#FF0000;'><strong>Alle velden zijn verplicht in te vullen.</strong></span>");
$(this.html(Alle velden zijn verplicht in te vullen.);

style='color:#FF0000;中也用单引号替换双引号

我会尝试这样改进您的代码:

if(result) {
    $(this).html(
        $('<span/>', {
            style: 'color: #76c5f0',
            html: $('<strong/>', {
                text: 'Bedankt voor je bericht! We nemen zo snel mogelijk contact met je op!'
            })
        })
    );
    $(":input", "#contact-formulier")
        .not(":button, :submit, :reset, :hidden")
        .val("");
} else {
    $(this).html(
        $('<span/>', {
            style: 'color: #FF0000',
            html: $('<strong/>', {
                text: 'Alle velden zijn verplicht in te vullen.'
            })
        })
    );
}
if(结果){
$(this.html)(
$('', {
样式:“颜色:#76c5f0”,
html:$(“”{
文字:“Bedankt voor je bericht!我们nemen zo snel mogelijk联系人遇到了je op!”
})
})
);
$(“:输入”、“#联系公式制定者”)
.not(“:按钮,:提交,:重置,:隐藏”)
.val(“”);
}否则{
$(this.html)(
$('', {
样式:“颜色:#FF0000”,
html:$(“”{
文字:“在瓦伦的所有地方。”
})
})
);
}

我会尝试像这样改进您的代码:

if(result) {
    $(this).html(
        $('<span/>', {
            style: 'color: #76c5f0',
            html: $('<strong/>', {
                text: 'Bedankt voor je bericht! We nemen zo snel mogelijk contact met je op!'
            })
        })
    );
    $(":input", "#contact-formulier")
        .not(":button, :submit, :reset, :hidden")
        .val("");
} else {
    $(this).html(
        $('<span/>', {
            style: 'color: #FF0000',
            html: $('<strong/>', {
                text: 'Alle velden zijn verplicht in te vullen.'
            })
        })
    );
}
if(结果){
$(this.html)(
$('', {
样式:“颜色:#76c5f0”,
html:$(“”{
文字:“Bedankt voor je bericht!我们nemen zo snel mogelijk联系人遇到了je op!”
})
})
);
$(“:输入”、“#联系公式制定者”)
.not(“:按钮,:提交,:重置,:隐藏”)
.val(“”);
}否则{
$(this.html)(
$('', {
样式:“颜色:#FF0000”,
html:$(“”{
文字:“在瓦伦的所有地方。”
})
})
);
}

在对实际代码进行测试运行之后,我注意到您对PHP脚本的调用返回了一个字符串值
“1”
。您根本没有针对实际返回信息进行测试。你有两个选择。根据字符串值
“1”
进行测试,或从PHP方法传回一个JSON序列化对象,该对象看起来像
{“success”:true}
{“success”:false}
,然后根据
结果进行测试。success


无论哪种方式,都可以使用将条件测试更改为
if(result==“1”)
。您需要摆脱
.ajaxComplete()
调用。如果您希望在XHR上评估成功或错误后无条件地执行处理程序,那么您希望将其用作名为“complete”的AJAX方法的一个选项,类似于构建完整选项列表的“success”。Complete是第五个选项。

在对实际代码进行测试运行后,我注意到您对PHP脚本的调用返回了一个字符串值
“1”
。您根本没有针对实际返回信息进行测试。你有两个选择。根据字符串值
“1”
进行测试,或从PHP方法传回一个JSON序列化对象,该对象看起来像
{“success”:true}
{“success”:false}
,然后根据
结果进行测试。success


无论哪种方式,都可以使用将条件测试更改为
if(result==“1”)
。您需要摆脱
.ajaxComplete()
调用。如果您希望在XHR上评估成功或错误后无条件地执行处理程序,那么您希望将其用作名为“complete”的AJAX方法的一个选项,类似于构建完整选项列表的“success”。完成是第五个选项。

在正确的情况下使用
.html()
,在错误的情况下使用
.innerHTML
。@BoltClock,你为什么要写一个正确的答案作为注释?我看到