在表格中的IE8中显示多个表单提交按钮内联相同的行

时间:2009-08-12 14:56:27

标签: html css format

我正在尝试在表格内的同一行显示两个表单提交按钮。在IE7中,下面的代码工作得很好,但是在IE8中,删除按钮下拉到下一行,即使我声明表单是内联显示的。有什么建议吗?

我在此处创建了一个基本测试页以显示问题:http://ajondeck.net/test/displayinline.html

6 个答案:

答案 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;”)或者左右。 ..