晚上好,
我想设置一个具有单个字段(名称)的表单,用户在其中输入自己的名称,然后从三个按钮中选择一个。
这些按钮中的每一个都应该同时设置一个特定的属性值,并提交表单
一个人为的例子("xxxx"是一个按钮):
Name : _________
"Good" "Sad" "Tired"
这将保存用户名,然后是/否/可能保存到"users_feeling"属性。我不想有一个用户感觉属性的单选框,然后有一个单独的提交按钮。
如果您能提供任何帮助,我们将不胜感激!!
通常有两种方法。
IMHO更好的方法是简单地将要设置的属性添加为隐藏字段,然后编写一些javascript将其设置为按钮上的某个数据属性。类似这样的东西:
$('.my_form button').click ->
$('#my_hidden_field').val ($ @).data 'attribute-name'
$('.my_form')[0].submit()
另一个是,当你提交表单时,每个提交按钮都会传递其value
作为参数。你可以像其他值一样在rails控制器中检测到这一点。所以如果你有这个HTML:
<input type=submit name=feeling value=Good />
<input type=submit name=feeling value=Sad />
<input type=submit name=feeling value=Tired />
然后在控制器中params[:feeling]
应保持单击按钮的值。为什么我不特别喜欢这个解决方案,是因为value
字符串也是显示给用户的,它将您的控制器与您的视图非常糟糕地耦合在一起。如果将来你想本地化你的应用程序,这可能会影响你。