在IE11中需要鼠标单击,但在Firefox中不需要

时间:2016-12-01 11:59:50

标签: javascript jquery ajax forms

我有一个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 

0 个答案:

没有答案