Firefox错误地记住单选按钮

Joh*_*lor 7 firefox radio-button

在Firefox 7.0.1中,我有两个复选框和许多其他输入.

当我通过jQuery添加另一个输入时,Firefox无法正确记住选择了哪些无线电输入.

例如,如果我选择第一个单选按钮然后刷新页面,则选择第二个单选按钮而不是第一个,如果我再次刷新,则不会选择单选按钮.

您应该能够将以下代码复制并粘贴到新文件中以进行自我测试:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta content="text/html; charset=utf-8" http-equiv="Content-Type"/>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js"></script>
    <script>
    $(document).ready(function(){
    $('select').after('<input class="select" type="text" name="new_text_input" />');
});
    </script>
    <title>Pretty jQuery Form</title>
</head>
<body>
<form>
    <fieldset>
        <label>Select Box</label>
        <select name="my_select">
            <option>Option 1</option>
            <option>Option 2</option>
            <option>Option 3</option>
            <option>Option 4</option>
        </select>
    </fieldset>
    <fieldset>
        <label>Text Input</label>
        <input class="text" id="text_input" name="input" type="text" />
    </fieldset>
    <fieldset>
        <label>Text Area</label>
        <textarea></textarea>
    </fieldset>
    <fieldset>
        <label>Radio</label>
        <input value="1" name="radio" id="radio1" type="radio" /> <label for="radio1">Radio 1</label>
        <input value="2" name="radio" id="radio2" type="radio" /> <label for="radio2">Radio 2</label>
    </fieldset>
</form>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

我应该注意到,我实际上要做的事情更复杂,但经过几个小时的调试后,我已经设法将其缩小到这个范围.

J. *_*uni 18

有一篇关于这个问题的文章:http://www.ryancramer.com/journal/entries/radio_buttons_firefox/

该错误是五年前首次报道的:https://bugzilla.mozilla.org/show_bug.cgi?id = 394782

解:

<form autocomplete="off">
Run Code Online (Sandbox Code Playgroud)

或者使用jQuery:

$(document).ready(function() {
    if ($.browser.mozilla) $("form").attr("autocomplete", "off");   
}); 
Run Code Online (Sandbox Code Playgroud)

也可以通过在单选按钮本身上放置autocomplete ="off"来防止出现此问题(这样您仍然可以获得其他表单字段的自动完成功能).

  • 我刚刚用一组单选按钮遇到了这个问题,Firefox选择了第一个,即使第三个单选按钮有'checked'属性.Chrome和IE正确显示所选的第三个按钮.我向组中的每个单选按钮添加了建议的'autocomplete ="off"',现在Firefox正确显示了所选的第三个单选按钮. (2认同)