我正在使用Spring MVC控制器。如何將單擊的單選按鈕值傳遞給控制器?
下面是我的JSP代碼,它將顯示三個單選按鈕。一個是Insert
,第二個單選按鈕是Update
,第三個單選按鈕是Delete
。
一旦我點擊Insert
單選按鈕,它將顯示插入單選按鈕旁邊的兩個文本框,以及與其他兩個單選按鈕相同的東西。
<script type="text/javascript">
function doDisplay(radio) {
switch (radio.value) {
case "Insert":
document.getElementById("inserts").style.display = "inline";
document.getElementById("updates").style.display = "none";
document.getElementById("delete").style.display = "none";
break;
case "Update":
document.getElementById("inserts").style.display = "none";
document.getElementById("updates").style.display = "inline";
document.getElementById("delete").style.display = "none";
break;
case "Delete":
document.getElementById("inserts").style.display = "none";
document.getElementById("updates").style.display = "none";
document.getElementById("delete").style.display = "inline";
break;
}
}
</script>
<body>
<form method="post" action="testOperation">
<input type="radio" name="tt" value="Insert"
onclick="doDisplay(this);" /> Insert <input type="hidden" name="name" value="insert"><span id="inserts"
style="display: none"> <label for="Node"> Node </label> <input
type="text" name="node" size="20" /> <label for="Data"> Data </label>
<input type="text" name="data" size="100" />
</span> <br /> <input type="radio" name="tt" value="Update"
onclick="doDisplay(this);" /> Update <input type="hidden" name="name" value="update"> <span id="updates"
style="display: none"> <label for="Node"> Node </label> <input
type="text" name="node" size="20" /> <label for="Data"> Data </label>
<input type="text" name="data" size="100"/>
</span> <br /> <input type="radio" name="tt" value="Delete"
onclick="doDisplay(this);" /> Delete <input type="hidden" name="name" value="delete"><span id="delete"
style="display: none"> <label for="Node"> Node </label> <input
type="text" name="node" size="20" /> <label for="Data"> Data </label>
<input type="text" name="data" size="100"/>
</span> <br />
<input type="submit">
</form>
現在我所要做的,一旦是我點擊Insert
單選按鈕,它會告訴我兩個文本框旁邊Insert
單選按鈕。然後在這兩個文本框中添加一些值後,我按下表單上的提交按鈕。然後它去testOperations
方法,其中name
領域擁有這些很多東西 -
insert,update,delete
我怎樣才能迫使它只有一個,我現在只是點擊場? Meaing如果我是點擊插入單選按鈕,那麼名稱變量應該有插入值?下面是我的方法 -
@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;
}
意義,假設我點擊插入單選按鈕,然後鍵入Hello
在第二個文本框的第一個文本和World
,然後我會點擊提交按鈕,在那之後我應該看到insert
值name
變量和hello
值node
變量和world
值data
變量。
同樣的事情更新和刪除。
這可能嗎?
謝謝Vinoth。我有點困惑的HTML部分,你能提供完整的HTML,我應該使用?我不知道我應該在哪裏使用這個隱藏的輸入?而且,我所看到的是在我的'node'變量中,值是用逗號'aw ,,',如果我只在插入文本框中輸入值.. – AKIWEB
我已經更新了我的上面的答案。 –