【问题标题】:How to get form input inside ModalBox with Jquery如何使用 Jquery 在 ModalBox 中获取表单输入
【发布时间】:2010-11-15 03:32:26
【问题描述】:

我正在使用 jQuery 开发我的网站。对于私人消息功能,我现在所拥有的是显示一个 ModalBox(对话框)。因此,每当用户想要查看消息时,都会显示一个带有收件箱的对话框。现在,在那个 ModalBox 中,我有一个“撰写”部分,用户可以在其中发送消息。我的问题是,当用户提交表单时,我们如何在不必实际提交的情况下检索这些输入?因为,我已经尝试过了...,当我执行“submit()”时,它关闭了 ModalBox。

任何帮助将不胜感激。

【问题讨论】:

  • 您能否确认这些假设:它是一个网页 模态框是指显示在背景上方的浮动 div 如果这些都正确,您的提交将回发整个页面,刷新它会重绘它没有你的弹出窗口。解决这个问题的一种方法是考虑使用 Ajax/XHR 的 javascript 回发
  • 您好,您的假设是正确的。好吧,我确实在按钮上使用了 Ajax 并为它创建了一个事件。但是,当我在输入(选择器)上使用 val() 时,它返回 undefined。
  • 只是一个注释,我想我没有提到这一点。这个表格不是在php或html上编写的。它是使用 Ajax “即时”创建的。

标签: javascript javascript-events jquery


【解决方案1】:

由于您使用的是 jQuery,请参阅here

如果您不熟悉 AJAX,基本上它允许您向服务器发送请求(在这种情况下是您提交的数据),在服务器上处理数据,然后从您的请求中接收任何返回, 无需重新加载整个页面。

这应该可以缓解模式框关闭的问题(页面在提交时重新加载,真的。)

[编辑]

请参阅 StackOverflow 上的 this article,了解如何使用实时事件处理程序。这应该解决无法从新创建的 DOM 元素中获取值的问题。

[/编辑]

【讨论】:

  • 嘿,我在开发我当前的网站时确实使用了很多 Ajax。我还在学习 jQuery。只是一个注释,我想我没有提到这一点。这种形式不是在php或html上编写的。它是使用 Ajax “即时”创建的。
  • 看看编辑后的答案。它有一个关于处理动态创建的 DOM 元素的链接。这应该可以解决您的“未定义”val() 问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-09-15
  • 2017-07-13
  • 2020-09-03
  • 2020-01-23
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多