我在jsp中有这段代码:
....
<td>
<select name="role" id="role">
<option selected></option>
<option value="ROLE_USER">ROLE_USER</option>
<option value="ROLE_ADMIN">ROLE_ADMIN</option>
<option value="ROLE_BDDADMIN">ROLE_BDDADMIN</option>
</select>
</td>
....
此代码未包含在form
标记中。
我想要做的是找到一种方法将选定的值传输到服务器,知道没有form
标签。
我选择使用javascript函数将所选值作为请求参数放置,如下所示:
<a href="<c:url value="/admin/addRole?role="/>" onclick="document.getElementById("role").attributes["name"].value;">
Add
</a>
但这不起作用。
我使用的是Spring MVC,如果还有其他方法,请使用javascript。
非常感谢你的帮助。
答案 0 :(得分:0)
我找到了一个有效的解决方案,但我并不完全满意。我没有使用AJAX,因为根据我在学习AJAX原理时的理解,它专门用于从服务器检索数据。如果我错了,请纠正我。
这是我的解决方案:
<a id="link" href="<c:url value="/admin/addRole"/>">Add</a>
<script type="text/javascript">
jQuery(function(){
jQuery("#role").change(function(){
var id=${ listeInscrit.id_inscription };//this is a request attribut
var role = jQuery('#role').find(":selected").val();
jQuery("#link").attr("href",'<c:url value="/admin/adduser?id='+id+'&role='+role+'"/>');
});
});
</script>
我不满意,因为我有一个包含多行用户的表,每个用户都应该有一个角色,此解决方案仅适用于第一行。