我几乎完成了我的网站重建,现在正处于测试阶段。在IE7和8中进行测试时,我发现由于json脚本,我的jquery脚本无法正常工作,即使它们在所有其他浏览器中都有效,包括IE9。
页面为:http://www.carcityofdanbury.com/New/?cat=01&do=View&stock=18481
脚本是信息请求表单,在此行中:
".append("<p>Thank you " + data.name + ",</p><p class=\"indent\">we recieved your info request " + data.for + " on our<br />'.$vehicle.' and will contact you shortly.</p>")"
导致jquery选项卡不再起作用。
我做了php和jquery编码,但雇了一个人来做json,所以我不知道如何解决这个问题。有什么想法吗?
答案 0 :(得分:1)
问题在于data.for
,听起来有点像你(编写代码的人)正试图访问其中一个保留名称。即使data.for
应该有效,IE也不喜欢它认为特殊的名称(例如类)。 data.class
会导致IE出现问题,即使它有效。
尝试将data.for
重命名为其他内容data._for
。确保更新01/Resources/infoRequest.php
PHP文件以返回 new 值。
答案 1 :(得分:1)
解决了......代码中有一个额外的逗号:
<script language="javascript" type="text/javascript">
$(document).ready(function() {
// Tabs
$("#tabs").tabs();
// Google map
$(\'#embed\').gmap3(
{action: \'addMarker\', lat:41.40372, lng:-73.45844, map:{center: true, zoom: 17, mapTypeId: google.maps.MapTypeId.ROADMAP}}
);
// Pic popup
$("#viewPics").fancybox({
\'type\': \'iframe\', \'transitionIn\': \'fade\', \'transitionOut\': \'fade\', \'width\': 900, \'height\': 500, \'autoScale\': false, \'scrolling\': \'no\'
});
// Form Validation
jQuery.validator.messages.required = "";
$("#infoForm").validate({
invalidHandler: function(e, validator) {
var errors = validator.numberOfInvalids();
if (errors) {
var message = errors == 1
? \'You missed 1 required field.\'
: \'You missed \' + errors + \' required fields\';
$("li.Error span").html(message);
$("li.Error").show();
} else {
$("li.Error").hide();
}
},
onkeyup: false,
submitHandler: function(form) {
$.ajax({
url: "01/Resources/infoRequest.php",
type: "POST",
cache:false,
data: $("#infoForm").serialize(),
dataType: "json",
success: function(data) {
$("li.Error").hide();
$("#contact_form").html(\'<div id="message"></div>\');
$("#message").html("<h2>Info Request Submitted!</h2>")
.append("<p>Thank you " + data.name + ",</p><p class=\"indent\">we recieved your info request " + data.test + " on our<br />'.$vehicle.' and will contact you shortly.</p>")
.hide()
.fadeIn(2500, function() {
$("#message").append("<p>Would you like to <a href=\"?cat=02&stock='.$stock.'\">prefill an application</a> now?</p>")
});
}
});
}, <------- This guy was the culprit
});
});
</script>