jQuery、表单、浏览器刷新

发布于 2024-08-24 12:34:59 字数 411 浏览 7 评论 0原文

我有一个大表单,其中一些字段值取决于先前的元素。我使用 jquery 的 .trigger 事件来触发依赖字段的更新函数。当我刷新页面(单击重新加载或单击返回)时,先前选择的值仍然存在,但依赖字段不反映其他元素的值。如何在刷新时触发更新功能?我看到了一种防止浏览器使用表单的缓存值的方法。我宁愿使用缓存的值并更新依赖于具有缓存值的元素的元素。

编辑:为了说明形式:

<form>
    <input id="element1" />
    <input id="element2_dependent_on_element1" />
</form>

element1 保持正确,但 element2_dependent_on_element1 .change 事件未触发。

I have a large form with some fields values dependent on previous elements. I use jquery's .trigger event to trigger the dependent field's update functions. When I refresh the page (click reload or click back), the previous values selected are still there, but the dependent fields are not reflecting the other element's values. How can I trigger the update functions upon refresh? I saw a way to prevent the browser from using the form's cached values. I'd rather use the cached values and update the elements dependent on the elements with cached values.

Edit: To illustrate the form:

<form>
    <input id="element1" />
    <input id="element2_dependent_on_element1" />
</form>

element1 remains correct, but element2_dependent_on_element1 .change event is not triggered.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

柏林苍穹下 2024-08-31 12:34:59

为什么不在 document.ready 末尾的所有完整输入上执行 .trigger ?当页面重新加载时,这应该会触发所有这些。

Why don't you do .trigger on all of the full inputs at the end of document.ready? That should fire all of them off when the page reloads.

梦里南柯 2024-08-31 12:34:59

您可以调用 form.reset() (DOM函数,而不是 jQuery 函数),或者在附加它们后立即触发您绑定的事件处理程序,例如:

$(function() {
  $("input").change(function() {
    //do something....
  }).change(); //trigger the handler once on load
});

You can either call form.reset() (DOM function, not a jQuery one) or, trigger the event handlers you're binding immediately after attaching them, for example:

$(function() {
  $("input").change(function() {
    //do something....
  }).change(); //trigger the handler once on load
});
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文