将选定的单选按钮值传递给groovy控制器

时间:2019-02-12 12:40:03

标签: grails groovy radio-button radio-group

无法获得所选单选按钮的值,以用于控制器类。 我有一个单选组,用于在页面上显示两个单选按钮以及一个输入文本字段,以及一个用于验证输入并将其带到所需页面的按钮。 想法是用户可以选择单选按钮,这将依次确定对输入到文本字段中的内容执行的操作。

但是,我发现很难通过选择哪个单选按钮将单选按钮的值传递给控制器​​,这将确定如何验证用户输入。

浏览了grails文档以及堆栈溢出后的文章,以尝试了解如何将index.gsp类中的selected值传递给groovy控制器。

index.gsp:

<table>
      <tr>
        <g:radioGroup name=“Radio" values=“['value1', ‘value2']" value="value1" onchange="setRadio(this)">
          <td> ${it.radio} ${it.label}
          </td>
        </g:radioGroup>
      </tr>
    </table>

    <g:form>
      <table class =“Radiotable">
        <tr>
          <td>
            <g:textArea class="smallTextArea" name=“radioVal" value="Paste your input for value1" />
          </td>
        </tr>
          <td>
            <g:actionSubmit value="validate" action="validate" />
      </table>
</g:form>

控制器:

class AesController {

    def index() {


    }
    def validate() {

    }

}

onchange =“ setRadio(this”>

使用JS函数更改输入字段中显示的文本。默认情况下,它显示“为value1粘贴您的输入”。当前,如果用户在两个单选按钮之间切换,则在“为value1粘贴您的输入”和“为value2粘​​贴您的输入”之间切换。选择的value2将具有不同的值,并且输入的文本将发生不同的动作

我希望用户能够选择一个单选按钮,并且此值将传递到控制器,因此可以知道用户按下了哪个单选按钮。

2 个答案:

答案 0 :(得分:0)

我还建议您在表单中添加单选按钮组。但是,如果这不起作用,请向表单中添加一个隐藏字段:

<g:hiddenField name="selectedRadioButton" value="value1" />

并根据选择在setRadio(x)javascript函数中对其进行更新。

答案 1 :(得分:0)

您需要将您的广播组加入。它将是:

<g:form>
...
<g:radioGroup name="Radio" values="['value1', 'value2']" value="value1" onchange="setRadio(this)">
...
<g:textArea class="smallTextArea" name="radioVal" value="Paste your input for value1" />
...
<g:actionSubmit value="validate" action="validate" />
</g:form>

然后您可以通过参数轻松访问单选按钮的值。单选