jQuery、表单、浏览器刷新
我有一个大表单,其中一些字段值取决于先前的元素。我使用 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
为什么不在 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.
您可以调用
form.reset()
(DOM函数,而不是 jQuery 函数),或者在附加它们后立即触发您绑定的事件处理程序,例如: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: