我有一些东西可以在 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/