我正在尝试在表格内的同一行显示两个表单提交按钮。在IE7中,下面的代码工作得很好,但是在IE8中,删除按钮下拉到下一行,即使我声明表单是内联显示的。有什么建议吗?
我在此处创建了一个基本测试页以显示问题:http://ajondeck.net/test/displayinline.html
答案 0 :(得分:19)
尝试以下方法,因为我遇到的情况是我没有桌子和东西。
//Put this in ur css styling area
.spanFormat
{
text-align: left;
display: table-cell;
min-width: 10px;
padding-right: 10px;
}
//This is the html that is used to make ur input buttons side by side on two
//different forms.
<span class="spanFormat">
<form action="someaction.php" method="post">
<input type="submit" name="action1" value="somevalue" />
<input type="hidden" name="param" value="somevalue" />
</form>
</span>
<span class="spanFormat">
<form action="someaction2.php" method="post">
<input type="submit" name="action3" value="somevalue" />
<input type="hidden" name="param1" value="somevalue" />
</form>
</span>
这似乎把我的两个按钮放在两个不同的表格上。
答案 1 :(得分:6)
我找到的最简单的方法是在表单标记中使用一些内联CSS(您可以在样式表中将其列为类,如果您愿意),如下所示:
<form method="post" action="nextPage.html" name="nameForm" style="display:inline;">
<input type="hidden" name="value" value="someValue">
<input type="submit" name="submit" value="Submit">
</form>
答案 2 :(得分:1)
您的示例不起作用主要是因为您的HTML无效。你打开一个td,把Submit1然后关闭一个表单元素??解决这个问题,很多问题可能会消失。
如果你想要两个并排的按钮,你应该只能将它们放在同一个容器中。
答案 3 :(得分:1)
将每个表格放在自己的TD中。
例如:
<table cellpadding="0" cellspacing="0">
<tr><td>
<form action="action.php" method="post" style="padding: 0; margin: 0">
<input type="submit" value="Submit" name="X1">
</form>
</td><td>
<form action="action.php" method="post" style="padding: 0; margin: 0">
<input type="submit" value="Submit" name="X2">
</form>
</td></tr></table>
等
编辑:为了完全清楚,您也可以使用一个封装整个表的表单来完成此操作。在下一页(即上面代码中的action.php)中,您可以执行以下操作:
if ($_POST['X2'] == 'Submit'){
//do stuff
}
另一种策略(如果你有多种形式)是包含隐藏的输入元素并测试它们的值,但通常你只需要知道用户按下了什么按钮,这就是上面的代码所做的。
答案 4 :(得分:0)
如果你想要快速解决方案,你应该使用css扩大td的大小。
<td style="width:300px">
<input id="Submit1" type="submit" value="Submit" name="Submit1"/>
<form id="form2" action="www.test.com/test2" method="post" name="form2">
<input id="Delete" type="submit" value="Delete" name="Delete"/>
</form>
但重要的是,这种形式是一个非常编码的人。 试着读一下div和css,桌子是你最大的敌人!
希望您觉得这很有用:http://www.cssdrive.com/index.php/examples/exampleitem/tableless_forms/P30/
答案 5 :(得分:0)
使用表格进行布局没有错。我认为整个“反桌”人群只是一群3l33t1的势利小人。 ;-)所有浏览器都普遍支持表。他们来自古代。他们很稳定。所有浏览器都正确呈现。
div和span不是。 ie,ff,opera,safari等之间在如何在页面渲染中播放css样式(如“填充”或“边距”)之间存在显着差异。
关于您的问题:
表单外的[input type = submit]将不执行任何操作。如果你想要一个表单外的按钮,你可以尝试使用“type = button”来查看你得到的位置。您可能需要编写一个javascript操作脚本,以便进行恶意竞标! ; - )
您可能尝试的另一件事是清除表单的边距(默认情况下,表单具有明显大的边距)并且还尝试浮动FORM(即,style =“margin:0px; float:right;”)或者左右。 ..