代码之家  ›  专栏  ›  技术社区  ›  greg0ire

如何让HTML优先于firefox的内存选择元素?

  •  5
  • greg0ire  · 技术社区  · 14 年前

    考虑以下代码:

    <select>
        <option value="0">foo</option>
        <option value="1" selected="selected">bar</option>
    </select>
    

    如果选择第一个选项并重新加载页面,第一个选项将保持选中状态,并且选择不会切换到第二个选项。如何强制火狐优先使用HTML?

    4 回复  |  直到 14 年前
        1
  •  3
  •   Pekka    14 年前

    问得好。我认为这不能用纯HTML来完成。

    您可以尝试使用javascript重置表单。我不知道它会重置为什么,但我想它会做你想要的:

     document.forms["formname"].reset();
    

    需要触发 load 当然(或 ready() 在jQuery中)。

        2
  •  2
  •   luvieere    14 年前

    在页面加载时使用javascript选择第二个选项。

        3
  •  1
  •   Haroldo    14 年前

    我遇到了这个问题,我的解决方案是使用php给每个名字一个随机的5位数的密钥,它会阻止火狐记住表单的某些部分。例如:

    <input type="text" name="35472username"></input>
    <input type="password" name="56784password"></input>
    

    那么在处理表格的时候我会 substr() 这个名字。

    它工作得很好,但可能有更有效的方法

        4
  •  1
  •   user159088    14 年前

    当您加载页面时, selected="selected" 会说要在选择中突出显示哪个选项,以便工作…第一次:D。

    要重新加载页面,必须单击浏览器地址栏中的,然后按Enter键或键入ctrl+shift+r。

    如果我没记错的话,这与缓存有关。firefox会记住表单元素的值,并使用这些值而不是进行完全刷新,如果您已经填写了表单的一半,并且不希望在刷新时被强制重新开始,这将非常有用。

    但是,它会造成其他问题,如您所见。这个 following page 描述处理此问题的一些方法。