[英]SPRING MVC : How to pass the radio button value which is clicked to controller?
[英]How to pass value of radio button which is clicked to Spring MVC controller?
我在我的一個項目中使用Spring MVC控制器。
下面是我的JSP代碼,它將在其中顯示三個單選按鈕。 一個是Insert
,第二個單選按鈕是Update
,第三個單選按鈕是Delete
。
單擊“ Insert
單選按鈕后,它會在“ Insert
單選按鈕旁邊顯示兩個文本框,同樣也會顯示其他兩個單選按鈕。 這是我的jsfiddle
<script type="text/javascript">
$(document).ready(function(){
$(".changeAction").on("click", function(){
$('.changeable').html('')
var divId = "#" + $(this).attr("div-id");
var myInput = '<label for="Node"> Node </label> <input type="text" name="node" size="20" /> <label for="Data"> Data </label> <input type="text" name="data" size="100"/>'
$(divId).html(myInput);
})
})
</script>
<body>
<form method="post" action="testOperation">
<!-- I used only one hidden box to store value -->
<input type="hidden" name="name" id="dynamicName">
<input class="changeAction" type="radio" name="tt" value="Insert" div-id="insert"/> Insert
<div id="insert" class="changeable"></div>
<br/> <input class="changeAction" type="radio" name="tt" value="Update" div-id="update"/> Update
<div id="update" class="changeable"></div>
<br/> <input class="changeAction" type="radio" name="tt" value="Delete" div-id="delete"/> Delete
<div id="delete" class="changeable"></div>
<br/>
<input type="submit">
</form>
</body>
下面是我在Controller代碼中的方法 -
@RequestMapping(value = "testOperation", method = RequestMethod.GET)
public Map<String, String> testOperation() {
final Map<String, String> model = new LinkedHashMap<String, String>();
return model;
}
@RequestMapping(value = "testOperation", method = RequestMethod.POST)
public Map<String, String> testOperations(@RequestParam String name,
@RequestParam String node,
@RequestParam String data) {
final Map<String, String> model = new LinkedHashMap<String, String>();
System.out.println(name);
System.out.println(node);
System.out.println(data);
return model;
}
問題陳述:-
假設我單擊Insert
單選按鈕並在第一個文本中輸入Hello
,在第二個文本框中輸入World
,然后我將點擊提交按鈕,之后我看到node
變量中的Hello
值和data
變量中的World
值是正確的。
但不知何故, name
變量是空的而不是它應該顯示insert
值,因為我點擊插入單選按鈕。
同樣的事情應該發生更新和刪除單選按鈕..
有什么想法,我在做什么錯?
用這個替換你的Javascript。 它對我有用。
$(document).ready(function(){
$(".changeAction").on("click", function(){
$('.changeable').html('')
var divId = $(this).attr("div-id");
$("#dynamicName").val(divId);
divId = "#"+divId;
var myInput = '<label for="Node"> Node </label> <input type="text" name="node" size="20" /> <label for="Data"> Data </label> <input type="text" name="data" size="100"/>'
$(divId).html(myInput);
})
})
這里是jsfiddle http://jsfiddle.net/EGJk8/5/
將代碼更改為,
來自,
@RequestParam String name
至 ,
@RequestParam String tt
因為您已經將單選按鈕的名稱稱為tt
。 所以無法獲得像Insert , Update , Delete
這樣的值。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.