我有一个表单,我想将表单的值传递给一个动作。我也不想使用提交按钮,并且想使用struts2锚标记。这是我的下面的代码:
<s:form id="form" theme="xhtml" >
<sj:datepicker id="startDate" name="startDate" label="Start Date" required="true"/>
<sj:datepicker id="endDate" name="endDate" label="End Date" required="true" />
</s:form>
<s:url action="excelExport" id="excelurl" >
</s:url>
<s:a formId="form" href="%{excelurl}" onclick="document.forms['form'].submit();" >Export</s:a>
这里的问题是开始日期和结束日期不会传递给操作。有人可以建议如何将表单值传递给操作。我正在使用struts2 jquery插件顺便说一句。如果需要更多信息,请与我们联系。提前谢谢!
答案 0 :(得分:0)
href="%{excelurl}" onclick="document.forms['form'].submit();
根据我的说法,一旦你点击锚标签就会调用 href 。 您是否可以删除href并在表单标记中提供操作名称,以便单击将调用js submit
这可能会有所帮助:)
答案 1 :(得分:0)
我能够使用javascript获取表单值,然后使用表单值动态创建url。有点hacky但它的工作原理。如果有人有更优雅的解决方案,请告诉我。
<s:a id="exportLink" href="%{excelurl}" onclick="document.getElementById ('exportLink').href=(document.getElementById('exportLink').href + 'startDate=' + document.getElementById('startDate').value + '&endDate=' + document.getElementById('endDate').value ;alert(document.getElementById('exportLink').href);">Export Current View to Excel</s:a>