【发布时间】:2013-01-13 19:15:13
【问题描述】:
我正在尝试从表格单元格中获取特定值并将其传递给控制器。但这似乎不起作用。我给你看我的一些代码:
这是在控制器中:
def searchUser = {
String abc = request.getParameter("harrow")
println(abc)
}
这是在html页面中:
<form>
<div style="height: 250px; overflow: scroll; width: 100%;">
<table id="normal">
<g:each in = "${result}">
<tr id="btn">
<td width=10% >${it.ID}</td>
<td width=25% id="harrow">${it.username}</td>
</tr>
</g:each>
</table>
</div>
<input type ="submit" name ="abc" id="opener">
</form>
编辑
AJAX:
$("#edittable").on('click', function() {
$.ajax({
url: URL,
data: $(this).serialize(),
type: "POST",
success: function(html){
//do something with the `html` returned from the server here
$("#edit1").html(html).dialog("open")
},
error: function(jqXHR, textStatus, errorThrown){
alert('error: ' + textStatus + ': ' + errorThrown);
}
});
return false;//suppress natural form selection
});
我可以获取要传递给控制器的值,但现在它只检索第一行值而不是另一行。我的 AJAX 代码有问题吗?非常感谢你们。
【问题讨论】:
-
表单发送
input元素,因此您的<td>永远不会被发送到控制器。事实上,除了<input type ="submit" name ="abc" id="opener">之外,此表单上的任何内容都不会发送到控制器。您的表格实际上并没有任何意义。你想让用户做什么? -
哦,好吧,有输入字段,但它只是我删除它。我在这里要做的是在表格单元格上有一个提交按钮并将值传递给控制器。就是这样。
-
您必须使用与 td 中的值相同的隐藏字段。或者 td 值应该在输入文本中(如果它是可修改的)。仍然它似乎不是最好的方法。如果您有很多行的表格,您想使用按钮发送哪一行?整张桌子?也许使用 ajax 并只发送所需的数据会更好?
-
您好,我使用了 ajax,但无论我发送什么数据,它只检索第一行数据。我可以更新我的代码。
-
那么您想将所有行发送到您的控制器吗?你用这些行做什么?在视图中是否更新了行?请描述你想做什么,而不是你想怎么做
标签: html grails controller html-table css-tables