IE11-Only Submit Bug

前端 未结 8 1099
我寻月下人不归
我寻月下人不归 2021-02-01 18:44

I have a form on a page, something simple like:

相关标签:
8条回答
  • 2021-02-01 18:55

    Your problem is caused by a issue with .net 4 on server side. Please read this: 'WebForm_DoPostBackWithOptions' is undefined in IE11 Preview

    You can enable your IE debug function and try submit, you may see the error: WebForm_DoPostBackWithOptions

    I fixed a similar submit problem for IE11 by patch this: http://support.microsoft.com/kb/2836939

    0 讨论(0)
  • 2021-02-01 19:03

    This doesn't directly relate to OP's question, but is an IE-only form submission issue:

    If you happen to set form.prop('disabled', true) during the submit event, other browsers will still send the form data, but IE will not - it'll send an empty request body.

    0 讨论(0)
  • 2021-02-01 19:04

    The problem appears when a form only has input elements without a name attribute (or no input elements). I found a reference to the bug here, though it also happens in desktop mode and not just metro mode as the link claims:

    http://connect.microsoft.com/IE/feedback/details/807447/ie-11-metro-version-submitting-form-fails-if-input-tag-has-no-name-attribute

    The fix is to create a dummy <input type="hidden" name="dummy" value="something"> field (with a name and value set) before submitting the form.

    The bug happens in all compatibility modes offered by IE11.

    0 讨论(0)
  • 2021-02-01 19:06

    I just spent WAY too much time on this bug. The crazy part is, IE11 allow the form submission if you have the dev tools (f12) open. This is what I put before my submit button:

    <input type="hidden" name="ie11sux" id="ie11sux" value="<?php echo md5(microtime()."ie11sux"); ?>"/>
    
    0 讨论(0)
  • 2021-02-01 19:12

    It's a bug in IE11. You can fix it if you add a name attribute to the button, like:

    <button type="submit" name="foo" ...
    
    0 讨论(0)
  • 2021-02-01 19:12

    A form without named element will result in an infinite loop on submit on IE11 + W8.1. To fix that, simply add an attribute name to the button:

    <form action="form/submit" method="post">
      <input type="submit" name="cm" value="Submit">
    </form>
    
    0 讨论(0)
提交回复
热议问题