我有一个HTML
表单,其中包含AJAX
调用以获取表单的一些数据,特别是一组选择选项。这很好用,在Firefox(50.0.2)中,在处理AJAX
成功响应后,可以选择结果。为了防止表单提交,在我输入AJAX jQuery GET
所需的数据之前,我在表单提交上阻止默认,并且所有工作正常。
但在Internet Explorer 11中,处理AJAX
调用响应后,选择数据不会立即显示,但如果我在表单区域的任何位置单击鼠标左键,则会显示AJAX
响应数据变得可见和可选择。
我曾尝试使用jQuery触发器点击模拟鼠标单击表单区域中的任何位置,但我无法使其工作。任何人都可以建议如何使IE11像Firefox一样?任何建议都将受到最高的赞赏。
如果可能有帮助,我已附加部分AJAX
响应代码 - 响应采用XML
格式..
// Now insert the received response(s) into the DOM:
$(data).find('result').each(function()
{
// $(data).find('result') creates an array (which hopefully will not be empty)
var dataToDisplay = $(this).text();
// we now have a pipe-delimited string - convert it into an array
var data_array = dataToDisplay.split('|');
var dog_pk = data_array[0];
var dog_name = data_array[1];
var dog_breed = data_array[2];
var customer = data_array[3];
var the_rest = dog_name + ", " + dog_breed + ", " + customer;
$('#dog_pk').append("<option value=" + dog_pk + ">" + the_rest + "</option>");
});
这是AJAX GET请求:
$(function()
{ // get dog and owner names function
$('#dogname_start').change(function(event)
{
var params = "params=";
params += String ($('#dogname_start').val());
params = encodeURI(params);
$('#add_appointment').submit(function(event)
{
event.preventDefault();
// alert("In dogname_start change form submit function, params are " + params);
});
$.get(
'./modules/get_dognames.xml.php',
params,
handle_response
); // end AJAX get (note: type defaults to html)
}); // end change function on #dogname_start
}); // end get dog and owner names function