如何在jsp文件中使用javascript添加请求参数

时间:2017-02-21 22:39:49

标签: javascript html jsp spring-mvc attributes

我在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。

非常感谢你的帮助。

1 个答案:

答案 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>

我不满意,因为我有一个包含多行用户的表,每个用户都应该有一个角色,此解决方案仅适用于第一行。