【问题标题】:Ajax working in Chrome, Firefox and not working in IEAjax 在 Chrome、Firefox 中工作,在 IE 中不工作
【发布时间】:2023-03-05 04:41:01
【问题描述】:

我有问题,因为我的代码可以在 Chrome、Firefox 中运行,而不能在 IE 中运行。有人可以帮我吗?
我有用于获取表单的简单 jquery 代码:

$('.get_my_form').live('click', function(){
    $.ajax({
    url: '/get_my_form',
    success: function(html){
        $('#my_form').html(html);}
        });
})

简单的主html:

  <div id="my_form"></div>

也是简单的观点:

def get_my_form(request):
    form = MyForm
    return render_to_response('get_form.html', {'form': form})

还有简单的get_form.html:

<form action="/something/add_something/">
  {{ form.as_p }}
  <input type="submit" value="Add">
</form>

更多,当我将 jquery 代码更改为:

 $('.get_my_form').live('click', function(){
        $.ajax({
        url: '/get_my_form',
        success: function(html){
            alert("AAA");
            $('#my_form').html(html);}
            });
    })

Chrome 有提示但 IE 没有提示。

编辑
亲爱的。终于找到了答案。用户Xeo 帮助我here小心分号!在每个正确和可能的地方都没有分号,IE 会变坏和发疯。

【问题讨论】:

  • 你能把html代码放在你的浏览器中吗?尤其是 .get_my_form 元素
  • 是的,我在example.com/get_my_form/ 中得到了很好的渲染代码。 IE 和 Chrome 都有很好的形式。
  • 当你说“不工作”是什么意思?表格不显示?你得到一个错误?你的电脑着火了?我们需要更多信息来提供帮助:-)
  • 对不起。我的具体问题是表单不显示。
  • &lt;input type="submit" value="Add"&gt; 应更改为 &lt;input type="submit" value="Add"/&gt;

标签: jquery ajax django


【解决方案1】:

如果将事件处理程序从 click 更改为 mouseup 会发生什么?您使用的是什么版本的 jQuery?一些 Google 搜索显示 IE 中的单击处理程序在单击鼠标左键时未使用正确的按钮。不过,它在 jQuery 的更高版本中得到了解决。

另外,请尝试以下操作:

$('.get_my_form').live('click', function(e) {
    $.ajax({
        url: '/get_my_form',
        success: function(html) {
            $('#my_form').html(html);
        }
    });
    e.preventDefault();
})

【讨论】:

  • jquery.min 1.6.1, $('.get_my_form').live('mouseup', 在我的三个浏览器中像原始代码一样工作。
  • 我尝试使用e.preventDefault();,但没有任何反应。
  • call e.preventDefault(); 应该放在其他代码行之前。否则只需将return false; 放在代码末尾
  • 我做什么都帮不上忙。 IE 仍然对我不利:/
猜你喜欢
  • 2017-07-21
  • 2014-05-24
  • 2015-02-12
  • 2017-06-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多