我尝试生成一些方阵,并且需要在 post 方法中发送数据,我找到了使用 javascript 和表单的解决方案,但所有新表单都会创建新行。否则,我将打开的表单 block 移出迭代,但当我按下任何数字时,它只生成 1 个变量,它总是在“位置”字段中发送 1。
<%
for (int i = 1; i <= 20; i++) { %>
<form name="submitForm" method="POST" action="buy">
<%
for (int j = 1; j <= 20; j++) {%>
<a href="javascript:;" onclick="parentNode.submit();"> <%=j%> </a>
<input type="hidden" name="row" value="<%=i%>"/>
<input type="hidden" name="place" value="<%=j%>"/>
<% if (j == 20) { %>
<p>
<%}%>
<%}%>
</form>
<%}
%>
最佳答案
使用 CSS 确保表单显示为内联元素,而不是前后都有换行符的 block 元素。
<style>form { display: inline }</style>
或
<form name="submitForm" method="POST" action="buy" style="display:inline">
How to display HTML <FORM> as inline element? 中讨论了一些陷阱开盘以来<form>
标签仍然暗示段落元素的结尾,否则该段落元素似乎包含它。
关于javascript - 如何使用 POST 建立链接而不换行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14143672/