页面刷新时如何处理来自同一页面中两个模式的值
Posted
技术标签:
【中文标题】页面刷新时如何处理来自同一页面中两个模式的值【英文标题】:How to handle values from two modals in the same page when page get refresh 【发布时间】:2018-01-05 22:10:50 【问题描述】:我正在制作一个包含两个文本字段的 rails 表单。通过弹出模式窗口的查找按钮为每个文本字段提供值,这将触发Ajax
调用以获取值。然后我选择值并将值设置到文本框字段。
我面临的问题是,当我在第二个文本字段中设置值时,页面会刷新并且文本框中的第一个值会更新。
在我的controller
表单中,我从每个模式中捕获param
值并传递给template
。但是,当设置第二个文本字段值时,父页面会刷新,因此前一个值会丢失。
我的问题是,如何在表单提交之前设置两个值。
<td><%= f.text_field_tag(:node, :id, value: "#@node_id", class: "form-control", :readonly => true )%></td>
【问题讨论】:
你可以使用本地存储。 @pradeek 你为什么要重新加载整个页面? @Ashraf.Shk786 当我从第一个模式中选择值然后返回父页面时,url 会被重定向吗? @pradeek 不,不应该是这样。当您从模式中选择任何内容时,每次尝试选择/更改值而不是页面时,模式都应该得到refresh
。
伙计们感谢您的帮助,经过一番思考,我想出了一个简单的解决方案,如果我错了,请更新我。我选择编写一个 javascript 事件函数来获取 url 和 params 值并附加到文本框,然后关闭模态窗口而不进行 url 重定向。
【参考方案1】:
首先,尝试控制父页面不被重新加载。因为,如果页面确实被重新加载,您将无法获取用户在之前状态下输入的参数。
另外,您也可以在重新加载 URL 时设置URL with parameters
,然后在重新加载时从 URL 中获取参数来设置第一个文本框。因此,这样,您的两个文本框值都具有相同状态的值。
供您参考将参数附加到 URL: append to url and refresh page
【讨论】:
以上是关于页面刷新时如何处理来自同一页面中两个模式的值的主要内容,如果未能解决你的问题,请参考以下文章