动态填充的Jquery表单;Ajax


dynamically filled forms with Jquery & Ajax

我在完成我想做的事情时遇到了一点问题。

我正在做一个像邮箱一样的页面,我想添加一个"响应"按钮,它将填写一些值的表单。

我在php中生成我的页面消息。对于每条消息,我生成一个带有自己id的输入按钮,当我单击该按钮时,我希望在新窗中打开一个表单,其中收件人和标题是预先填充的,用户不能更改,还有另一个文本区域,用户可以用他的消息填充。

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

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

我试图找到一些东西,我可以做只有javascript,因为我想要的形式是由Ajax异步提交。我可以创建一个onClick事件并将值传递给该函数,但在这种情况下,我将没有用户将输入的文本区域的值。

是否有一种方法,例如,在Javascript中的整个表单的值,我将通过onClick事件,从表单中获得文本区域的值,将填充这些值,然后通过Ajax发送一切?

我是这么做的。

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

我还在页面底部创建了一个表单,用css隐藏。这个表单包含我想要的预填充数据的尽可能多的隐藏字段,以及我想显示信息的尽可能多的跨。

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

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

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

我希望这个过程能帮助到一些人。

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

我不提供代码,因为它们都是特定于你所设置的应用程序的