Html 如何将“onclick”事件应用于Scala Play中的多个单选按钮选项?

Html 如何将“onclick”事件应用于Scala Play中的多个单选按钮选项?,html,forms,scala,playframework,google-analytics,Html,Forms,Scala,Playframework,Google Analytics,我正在Scala中使用Play框架我有一个单选按钮,您可以从表单的两个选项中进行选择: @helpers.inputRadioGroup(searchForm("options"), Seq("option1" -> "Option 1", "option2" -> "Option 2")) 我还有另一个表单,它不使用helpers,并且有onclick事件,根据您选择的选项将数据发送到Google Analytics: <form> <input typ

我正在Scala中使用Play框架
我有一个单选按钮,您可以从表单的两个选项中进行选择:

@helpers.inputRadioGroup(searchForm("options"), Seq("option1" -> "Option 1", "option2" -> "Option 2"))
我还有另一个表单,它不使用
helpers
,并且有
onclick
事件,根据您选择的选项将数据发送到Google Analytics:

<form>
    <input type="radio" name="option1" onclick="ga('send', 'event', { eventCategory: 'searchForm', eventAction: 'options', eventLabel: 'option1'})" value="@searchForm("options")">Option 1<br>
    <input type="radio" name="option2" onclick="ga('send', 'event', { eventCategory: 'searchForm', eventAction: 'options', eventLabel: 'option2'})" value="@searchForm("options")">Option 2<br>
</form>

选项1
选项2

我的问题是如何将第二个表单的
onclick
事件应用于第一个示例?

inputRadioGroup
这样的每个助手对象都有一个
apply
方法,例如,对于play 2.3:

下面是应用的定义:

def apply(
  field: Field,
  options: Seq[(String, String)],
  args: (Symbol, Any)*)(
  implicit handler: FieldConstructor, lang: Lang): 
  play.twirl.api.HtmlFormat.Appendable
然后是文档中的一个示例

@inputRadioGroup(
  contactForm("gender"),
  options = Seq("M"->"Male","F"->"Female"),
  '_label -> "Gender",
  '_error -> contactForm("gender").error.map(_.withMessage("select gender")))
我们看到标记属性以一对
符号和
任意
的形式提供为
varargs
。因此,我们可以将您的标签重写如下:

@helpers.inputRadioGroup(
  searchForm("options"),
  Seq("option1" -> "Option 1", "option2" -> "Option 2"),
  'onclick -> "ga('send', 'event', { eventCategory: 'searchForm', eventAction: 'options', eventLabel: 'option1'})"
)

每个辅助对象(如
inputRadioGroup
等)都有一个
apply
方法,如本文所述(用于播放2.3):

下面是应用的定义:

def apply(
  field: Field,
  options: Seq[(String, String)],
  args: (Symbol, Any)*)(
  implicit handler: FieldConstructor, lang: Lang): 
  play.twirl.api.HtmlFormat.Appendable
然后是文档中的一个示例

@inputRadioGroup(
  contactForm("gender"),
  options = Seq("M"->"Male","F"->"Female"),
  '_label -> "Gender",
  '_error -> contactForm("gender").error.map(_.withMessage("select gender")))
我们看到标记属性以一对
符号和
任意
的形式提供为
varargs
。因此,我们可以将您的标签重写如下:

@helpers.inputRadioGroup(
  searchForm("options"),
  Seq("option1" -> "Option 1", "option2" -> "Option 2"),
  'onclick -> "ga('send', 'event', { eventCategory: 'searchForm', eventAction: 'options', eventLabel: 'option1'})"
)

你不能用Javascript/jQuery来代替它吗?在收音机中添加一个类名,并使用onClick javascript函数来处理google analytics事件。我不熟悉javascript/jQuery,你有没有一个例子来说明我如何做到这一点@罗伯特:你不能用Javascript/jQuery来代替它吗?在收音机中添加一个类名,并使用onClick javascript函数来处理google analytics事件。我不熟悉javascript/jQuery,你有没有一个例子来说明我如何做到这一点@罗伯特达