javascript - 如何强制每个浏览器将表单数据设置为其实际值

标签 javascript jquery html django

我目前正在为我正在运行的项目编写 ToDo 脚本。

现在,某些浏览器(例如 Firefox)有一些(在这种情况下)烦人的行为,它们会记住以前的表单数据。这个功能确实很方便,但如果您编写依赖于复选框的 ToDo 脚本,那就很烦人了。

我的问题是,浏览器会记住表单数据并将选中状态设置为上次的状态。这可能不准确(例如,当多人同时编辑并且简单的刷新无法完成这项工作时)。

有没有办法通过从 django 模板获得的 html 属性“checked”来设置实际的选中状态?

这是我在 django 模板中所做的事情:

{% for t in todos %}
  <div class='todo_div'>
    {% if t.is_done %}
      <input type='checkbox' name='{{ t.pk }}' class='todo_checkbox' value='{{ t.pk }}' checked='true' />
    {% else %}
      <input type='checkbox' name='{{ t.pk }}' class='todo_checkbox' value='{{ t.pk }}'/>
    {% endif %}
    {{ t.text }}
  </div>
{% endfor %}

最佳答案

您可以使用

autocomplete="off"

您输入的属性,但这不可靠。

最好的方法是随机化表单输入名称。每次呈现表单时,您都可以生成一个随机字符串,例如“klsdjhfsdf”。然后,像这样命名您的输入:

<input name="klsdjhfsdf-MyRealInputName" ...>

服务器端解析接收到的输入并查看第一个连字符之后的所有内容以获取输入名称。

关于javascript - 如何强制每个浏览器将表单数据设置为其实际值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9889066/

相关文章:

javascript - 如何在输入时格式化输入框文本

javascript - 是否允许在函数和包含的每个循环中两次使用 jQuery $(this) 选择器?

javascript - 使用 iFrame 关闭外部点击页面上的菜单

html - 页脚不只停留在索引页面的底部

php - Prestashop 中的主页模板?在哪里?

Javascript OOP 和类问题

javascript - slim 3 : Could not import modules when unit testing

javascript - 为什么 ".hasClass()"没有按我的预期工作?

jquery - 可滚动 div 内的复选框显示在其外部

html - CSS - 波浪边框