php - 使用 Jquery 和 Ajax 动态填充表单

标签 php javascript forms zend-framework dynamic

我在实现我想要做的事情时遇到了一些问题。

我正在做一个类似邮箱的页面,我想添加一个“回复”按钮,该按钮将用一些值填充表单。

我正在 php 中通过消息生成我的页面消息。对于每条消息,我都会生成一个具有自己的 id 的输入按钮,当我单击该按钮时,我想在新窗口中打开一个表单,其中预先填写了收件人和标题,并且用户无法更改,还有另一个文本区域用户可以填写他的消息。

为此,我有一个包含 3 个值(收件人、标题和消息)的表单通用模板。所有(目前)都是文本或文本区域值。

是否可以使用一个表单向任何人发送消息,或者我是否必须为每条消息生成一个带有预填充值的表单?最后一个解决方案似乎很难做。

我试图找到一些只用 javascript 就能完成的事情,因为我希望通过 Ajax 异步提交表单。 我可以创建一个 onClick 事件并将值传递给该函数,但在这种情况下,我不会获得用户输入的文本区域的值。

有没有一种方法可以做到,例如,用 Javascript 编写一个完整的表单,其中包含我将通过 onClick 事件传递的值,从已填充这些值的表单中获取文本区域的值,然后通过 Ajax 发送所有内容?

最佳答案

嗯,这就是我所做的。

对于生成的每个“响应”按钮,我设置一个 onClick 事件,将我想要在表单中预先填写的字段传递给 JS 函数 RespondMessage()

我还在页面底部制作了一个用 css 隐藏的表单。 该表单包含与我想要预填充数据一样多的隐藏字段,以及与我想要显示信息一样多的跨度。

当我调用 RespondMessage 函数时,我使用调用该函数所用的参数手动设置表单中的隐藏字段。 之后,我用我想要显示的信息填充我的跨度(例如,我为我的消息设置收件人的姓名)。

完成所有这些后,您的表单就可以显示了。因此,在设置表单中的字段后,我只需将表单从 display:none 传递到 display:block,并执行大量 CSS 技巧以使其平滑且美观。

现在您已经有了预填写的表单,您只需要另一个函数来进行 Ajax 调用,以避免在每次响应后重新加载页面,并且您将使用表单提交按钮的 onClick 事件来调用它。

我希望这个过程会对某人有所帮助。

我不太确定这是最好的方法,而且我发现它非常肮脏且可利用,因此您需要比平常更多的服务器端检查,但它可以完成工作。

我不提供代码,因为它基本上都是特定于您正在设置的应用程序的。

关于php - 使用 Jquery 和 Ajax 动态填充表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16123046/

相关文章:

php - 函数定义顺序重要吗?

javascript - 如何将 ajax 请求包装到函数中?

javascript - 我收到 "Object Required"错误消息

javascript - 如何在单击按钮后突出显示动态添加的 UL Li 元素 3-5 秒

javascript - 如何将元素附加到动态生成的元素

php - Symfony 3.1 纯 html 表单错误

javascript - 嵌入式 Flash 在移动设备上不起作用

php - mysql无法插入8列的表

PHP:日期函数错误 -> 列数不匹配

jquery - AJAX 多表单发布