【问题标题】:Form values are not changing even on page reload即使在页面重新加载时表单值也不会改变
【发布时间】:2011-03-02 15:55:04
【问题描述】:

您好,我正在使用 jquery 来允许用户单击表中的一行来编辑它的内容。当用户单击该行时,将触发一个 javascript 函数,该函数将 row_id 作为参数发送并将其存储在隐藏表单中。触发一个函数,该函数发布存储在隐藏表单中的 row_id。 row_id 在 php 脚本中用于查找作为数组存储在会话变量中的行的内容。显示表单的 div 显示在屏幕上,输入字段中包含会话变量的内容,以向用户显示当前值并允许在用户需要时轻松更改它们...

第一次访问页面时,选择了一行,这一切正常,正确的值显示在表单中,但如果我关闭表单或单击取消并选择不同的行,表单中的值是和前面的一样。更奇怪的是,如果在尝试选择第二行后重新加载页面,则在重新加载页面后第三次单击任何行会显示在重新加载页面之前选择的上一行。我已经尝试了一切,但似乎无法让它发挥作用。下面是代码...

任何想法都将不胜感激我很想知道我哪里出错了!

【问题讨论】:

    标签: php javascript jquery html jquery-ui


    【解决方案1】:

    问题似乎是您的 JavaScript 代码被硬编码为只显示一个特定的行。在处理“$.post()”响应的代码中,您可以使用 PHP 代码转储一行。问题是该代码只运行一次,并且在页面发送到客户端之前在服务器上运行。一旦到达客户端,那里的值就会被冻结,并且无论从 ajax 调用返回什么都不会改变。

    【讨论】:

    • 如何让代码运行两次,然后解冻这些值? @Pointy
    • 你不能像现在这样。 PHP 代码only 在服务器上运行。处理“$.post()”响应的 JavaScript 必须从响应中取出值并将它们放入页面上的表单中。我不知道你的反应是什么样的,所以很难说具体该怎么做。
    • 你认为我最好看 json 的东西吗,还没试过。@Pointy
    • 可能是的。您的服务器可以将行信息作为 JSON blob 返回,然后您可以在客户端代码中使用它。
    • 祝你好运!当您完成该过程时,您知道可以提出更多问题的地方。像你一样提供代码很好,虽然它有点多:-)
    猜你喜欢
    • 2017-11-28
    • 1970-01-01
    • 1970-01-01
    • 2020-09-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-13
    • 1970-01-01
    相关资源
    最近更新 更多