1

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

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

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

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

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

我试图找到只用 javascript 就能做的事情,因为我希望表单由 Ajax 异步提交。我可以创建一个 onClick 事件并将值传递给该函数,但在这种情况下,我将没有用户将输入的 textarea 的值。

有没有一种方法可以做,例如,在 Javascript 中使用我将通过 onClick 事件传递的值的整个表单,从使用这些值填充的表单中获取 textarea 的值,然后通过发送所有内容阿贾克斯?

4

1 回答 1

0

好吧,这就是我所做的。

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

我还在页面底部制作了一个用 CSS 隐藏的表单。此表单包含尽可能多的隐藏字段,因为我想要预填充的数据,以及尽可能多的跨度,因为我想显示信息。

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

完成所有这些后,您的表单就可以显示了。所以在表单中设置好字段后,我只是将表单从 display:none 传递到 display:block,并做了很多 css 技巧来使其流畅和美观。

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

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

我不太确定这是不是最好的方法,而且我觉得它很脏而且很容易被利用,所以你需要比平时更多的服务器端检查,但它确实可以完成工作。

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

于 2013-04-20T22:44:25.297 回答