我有一个旨在鼓励管理员用户选择他们存在的现有名称条目,但随后可对其进行修改的接口。两个Chrome浏览器用户从Ajax调用不同的结果
渲染代码开始了,像这样
Aamodt, Jodi
...
而作出选择后,选择价值被清除,TD隐藏
和两个新的输入是显示:
所引起的问题是,管理员的人告诉我,当他在选择菜单,没有什么改变选择的人 - 例如文本输入不出现,选择输入不会消失。
用户和我都在Chrome中访问该页面。用户不是特别的技术,但给出截图明确的症状。由于JavaScript验证例程在这些相同页面加载期间为用户取得成功,因此他的Chrome中没有关闭JavaScript。用户和我正在加载相同的数据集,因此这不应该是与数据本身有关的破坏问题。
ajax更改函数如下。
有什么建议吗?
$("#PersonSelect").change(function() {
$.ajax({
url: 'person_form_populater.php?person=' + $("#PersonSelect").val() + '&entity=' + $("#Entity").val(),
dataType: 'json',
success: function(data) {
if (data['found']) {
alert('There is already a record linking that person to this entity');
$('#First_' + data['found']).focus();
var origColor = $('#bmformtable_' + data['found']).css("background-color");
$('#bmformtable_' + data['found']).css("border", '0px solid #f00');
$('#bmformtable_' + data['found']).animate({
borderWidth: 5
}, 2000, "linear", function() {
$('#bmformtable_' + data['found']).animate({
borderWidth: 0
}, 2000, "linear", function() {
});
});
} else {
$('#togglelink').click();
$('#First').val(data['First']);
$('#Last').val(data['Last']);
$('#Occupation').val(data['Occupation']);
if (data['Gender'] == 'Male') {
$("#Gender").attr('checked',true);
} else if (data['Gender'] == 'Female') {
$("#Gender2").attr('checked',true);
} else {
$("#Gender").attr('checked',false);
$("#Gender2").attr('checked',false);
}
$('#Race').val(data['Race']);
$('#Income').val(data['Income']);
$('#Person').val(data['ID']);
}
}
});
});
//编辑 此功能允许用户为“取消选择”加载的记录,并再次进入选择菜单:
$("#togglelink,#togglelink2").click(function(){
$('#PersonSelect option').attr('selected', false);
$('#First').val('');
$('#Last').val('');
$('#Occupation').val('');
$("#Gender").attr('checked',false);
$("#Gender2").attr('checked',false);
$('#Race').val('');
$('#Income').val('');
$('#Person').val('');
$(".entername, .selectname, #togglelink, #togglelink2").toggle();
});
+1
,我认为它是一个会话/ cookie的问题,请尝试清洁一切,尝试强制刷新,也尝试这找出任何错误http://stackoverflow.com/questions/8041148/show-proper-error-messages- with-jquery-ajax –
2013-02-18 16:52:53
+1
'$('#togglelink')。click();'做什么? –
2013-02-18 16:55:03
+0
谢谢你的回复feco。您建议用户应该在Chrome浏览器中访问“设置>高级设置>隐私>清除浏览数据”,然后按Ctrl + F5? –
2013-02-18 16:55:21