晚上好,
我想设置一个包含单个字段(名称)的表单,用户输入其名称,然后选择三个按钮之一。
这些按钮中的每一个都应同时设置特定的属性值,并提交表单。
一个人为的例子(“xxxx”是一个按钮):
Name : _________
"Good" "Sad" "Tired"
这会保存用户的名字,然后是/ users_feeling属性。我不希望有一个用户感觉属性的单选框,然后是一个单独的提交按钮。
您可以提供的任何帮助都将受到赞赏!!
答案 0 :(得分:3)
一般来说,有两种方法可以做到这一点。
恕我直言,更好的方法是简单地添加您想要设置为隐藏字段的属性,然后编写一些javascript以将其设置为按钮上的某些数据属性。像this这样的东西:
$('.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
字符串也是显示给用户的内容,它将您的控制器与您的视图相结合。如果将来您想要本地化您的应用,这可能会让您感到厌烦。