2014-10-30 57 views
1

我有一个有多个字段的表单,包括优惠券代码。我希望用户能够在不提交整个表单的情况下独立检查优惠券代码是否有效。我自己创建了一个表单并为其优惠券代码“检查”submit_tag,这很好。但是,如果我把它放在主表单中,当用户点击“检查”时,整个表单就会被提交。如果我把它放在主窗体之外,主窗体提交时将不会包含优惠券代码。
如何在主窗体中包含小窗体,并仍然允许独立检查它?如何在Rails中将一个表单包含在另一个表单中?

可能的解决方案:
我可以把“检查”的形式主要形式之外,重复优惠券字段添加到主窗体,并在提交的JavaScript填补它,但我不知道是否有更好的方法。

+1

你不能在HTML中的另一个表单元素中有一个表单,它不是Rails。如果你愿意,你可以创建两个单独的表单并使用CSS来显示它们(就像它们一样)。 – Surya 2014-10-30 18:32:53

回答

1

为什么不只是使用javascript和一个看起来像按钮的链接异步检查?

该按钮不应该触发表单提交操作,并且您可以根据js响应更新视图。

这样做的另一个好处是你不会丢失刷新的所有表单数据。

+0

这可能是最好的,但如果没有它的形式,我会需要JavaScript来从字段中获取文本.. – 2014-10-30 19:00:06

+0

不难添加JS,但如果有人在检查其优惠券时按下输入,则整个表单将提交。 – 2014-10-30 19:33:05

+0

您可以在选择优惠券栏的情况下捕捉按键事件,并测试返回键字符(可能是13 - 离开我的头顶???) – 2014-10-30 22:36:19

相关问题