php - 在 Safari/Mac 中需要有关 jQuery/AJAX 调用的帮助

标签 php javascript jquery ajax safari

我有一些东西可以在 FF 和 MSIE 中完美运行,但在 Safari 中无法正常运行。这是一个带有选择的表单,通过 AJAX/jQuery 从 MySQL 数据库中更新。

在 Safari 中,当您选择第一项时,它会正确加载下一个选择菜单的选项;但是,当您选择其中一个(在随后的选择菜单中加载新选项)时,整个表单将重置并从那时起被破坏。 有谁知道会导致这种情况的 Safari 错误? 这是 JS:

$(document).ready(function(){
    $("#searchForm select").change(updateSearchForm);
});
function updateSearchForm() {
    $.ajax({
        url: '/elements/search_form.php?ajax=true',
        data: $('#searchForm').serialize(),
        error:function(xhr,err){
            alert("readyState: "+xhr.readyState+"\nstatus: "+xhr.status);
            alert("responseText: "+xhr.responseText);
        },
        success: function(data) {
            $("#searchForm").html(data);
            $("#searchForm select").change(updateSearchForm);
        }
    });
}

我可以发布表单的相关 PHP/HTML,但它很长。 我对 JS 比较陌生,所以我不确定从哪里开始调试这个……TIA

最佳答案

可能是您通过替换 HTML 创建了无效表单。一些浏览器对此非常挑剔。当然,我不确定,因为您没有发送整个代码,但是您是否尝试过使用 append() 而不是 html() 来修改表单?出于诊断原因,也请先尝试附加一小部分。

关于php - 在 Safari/Mac 中需要有关 jQuery/AJAX 调用的帮助,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3016047/

相关文章:

JavaScript 函数不适用于 anchor 标记点击

jquery - 如何将网页的任何选定范围保存为图像?

php - 使用 CodeIgniter form_validation 清空 POST 结果

php - 从 array_rand 函数的结果创建简码

PHP Laravel cviebrock/eloquent-sluggable 不工作因为 "instanceof SluggableInterface"总是返回 false

javascript - Knockout.js:如何获取已注册的组件实例?

php - 使用IP地址的HTTPS背景图像?

javascript - 想要在另一个div ng-if中引用ng-repeat中的变量。 AngularJS

Jquery 延迟事件直到用户完成输入

javascript - 具有动态数据的可扩展下拉列表