javascript - 将域类ID返回到由单选按钮选择的 Controller

标签 javascript grails model-view-controller params

我正在设计一个简单的议程功能,可以从日期和时间列表中选择合适的选项(来自议程域类的实例。我试图将所选的ID带参数返回给 Controller ,ID值从javascript函数。不幸的是,它不起作用。

我的看法如下:

[...]
<g:form name="agendaForm" url="[resource:aanvraagInstance, action:'showAgenda']" >
<table class="table">
<g:each in="${agendaInstanceList}" status="i" var="agendaItem">
<tr class="${(i % 2) == 0 ? 'even' : 'odd'}"><td><input type="radio" name="agendaGroup" value="${agendaItem?.id}"/>
<g:formatDate date="${agendaItem?.startDate}"  type="date" style="LONG"/>
from <g:formatDate date="${agendaItem?.startDate}"  type="time" style="SHORT"/>
to <g:formatDate date="${agendaItem?.endDate}"  type="time" style="SHORT"/></td></tr>
</g:each>
</table>
<fieldset class="buttons">
<g:link name="save" class="btn btn-default" params="[agendaID: getGeselectedID()]" action="prikDatum" id="${aanvraagInstance?.id}">Indienen link</g:link>
</fieldset>
</g:form>
    </div>
</div>
</div>
<g:javascript>
    function getGeselectedID(){
    return getCheckedValue(document.forms['agendaForm'].elements['agendaGroup']);
    }

    function getCheckedValue(radioObj) {
    if(!radioObj)
        return "";
    var radioLength = radioObj.length;
    if(radioLength == undefined)
        if(radioObj.checked)
            return radioObj.value;
        else
            return "";
    for(var i = 0; i < radioLength; i++) {
        if(radioObj[i].checked) {
            return radioObj[i].value;
        }
    }
    return "";
    }
</g:javascript>

我的 Controller 方法是:
def prikDatum(Aanvraag aanvraagInstance){

    def agenda = Agenda.find("from Agenda as ag where ag.id=${params.agendaID}")
    // rest of the code
    render view:'editContacts' , model: [aanvraagInstance: aanvraagInstance]

} 

如何将所选日期发送给 Controller ?

最佳答案

getGeselectedID()是一种JavaScript函数,因此您无法在GSP标记中访问它(JavaScript在浏览器中执行,而GSP标记在服务器端进行解析)。

如果您只想提交具有选定ID的表单,那么您已经在做,请参阅<input type="radio" />

该值将通过name属性(在本例中为agendaGroup)可用。

def prikDatum(Aanvraag aanvraagInstance){
  println params.agendaGroup
}

关于javascript - 将域类ID返回到由单选按钮选择的 Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20245197/

相关文章:

Grails - 在编解码器类中访问静态配置对象

用于用户操作验证的 Java Swing GUI 设计技术 (MVC-FSM)

javascript - 每次单击按钮时播放声音

grails - Grails:Spring Security Core如何在两个不同的屏幕和故障屏幕上登录用户

Grails 插件没有检测到它使用的另一个插件的依赖关系

grails - 如何将Grails Controller 连接到 View ?

javascript - 如何单击下拉列表中的链接并通过实时搜索显示在文本框中,然后在删除时删除值

javascript - jstools build - JavaScript 在编译后出现问题

javascript - 功能逻辑未按预期运行