【问题标题】:href around input type submit输入类型提交的href
【发布时间】:2011-07-14 13:02:40
【问题描述】:

为什么围绕输入类型提交的 href 在 IE 中不起作用? (我能做些什么来解决它)

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org    /TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<link rel="stylesheet" type="text/css" href="css/style.css" media="screen">
</head>
<body>
<a href="1.html"><input type="submit" class="button_active" value="1"></a>
<a href="2.html"><input type="submit" class="button" value="2"></a>
<a href="3.html"><input type="submit" class="button" value="3"></a>
</body>
</html>

style.css:

* {
    margin: 0;
    padding: 0;
}

/* CSS Buttons: http://www.web4site.de/css/css-buttons.php */
.button {
    padding:0;
    margin:0;
    border:none;
    font-size:14px;
    background: url(../img/button.gif) no-repeat center;
    color: #000000;
    height:27px;
    width:134px; 
    font-variant:small-caps;
}

.button:hover {
    padding:0;
    margin:0;
    border:none;
    font-size:14px;
    background: url(../img/button.gif) no-repeat center;
    color: #FF0000;
    height:27px;
    width:134px; 
    text-decoration:none;
    font-variant:small-caps;
}

.button_active {
    padding:0;
    margin:0;
    border:none;
    font-size:14px;
    background: url(../img/button.gif) no-repeat center;
    color: #FF0000;
    height:27px;
    width:134px; 
    font-variant:small-caps;
}

这在 Firefox 中运行良好 ...

【问题讨论】:

  • 你必须接受 html 有其局限性

标签: html css forms button


【解决方案1】:

为什么要将提交按钮放在锚点内?您要么尝试提交表单,要么转到其他页面。哪一个?

要么提交表单:

<input type="submit" class="button_active" value="1" />

或转到另一个页面:

<input type="button" class="button_active" onclick="location.href='1.html';" />

【讨论】:

  • 这个工作正常。非常感谢:)
  • 请使用链接链接到页面。
  • @Kon 如果您想做类似 Save 之类的操作怎么办?但还要让它重定向到另一个页面??
【解决方案2】:

它不起作用,因为它没有意义(HTML 5 明确禁止它的意义太小了)。

要解决这个问题,请决定您是想要链接还是提交按钮,然后使用您真正想要的任何一个(提示:您没有表单,所以提交按钮是无稽之谈)。

【讨论】:

  • 这对我来说很有意义,因为我需要一个链接并使用输入类型来格式化它(带有背景图像等)。
  • 当你点击一个链接时,你会跟随一个链接。当您单击提交按钮时,您会提交一个表单。当您单击链接内的提交按钮时,您……同时点击链接并提交表单?两者都将浏览器发送到新的 URI?这根本没有意义。
  • 那是你的问题。提交按钮是提交表单的东西,而不是让某物看起来像按钮的想法。如果你想让某个东西看起来像一个按钮使用 CSS.
  • 我正在使用 CSS 来格式化按钮 :) 我不需要按钮来提交表单(因此没有表单标签)
  • 格式化,去掉按钮。
【解决方案3】:
<a href="1.html"><input type="text" class="button_active" value="1"></a>
<a href="2.html"><input type="text" class="button" value="2"></a>
<a href="3.html"><input type="text" class="button" value="3"></a>

试试看。除非您确实需要坚持提交类型,否则我提供的内容应该可以工作。如果你要坚持提交,那么上面提到的一切都是正确的,这是没有意义的。

【讨论】:

    【解决方案4】:

    将链接位置放在包装form 标记的action="" 中。

    您的第一个链接是:

    <form action="1.html">
        <input type="submit" class="button_active" value="1">
    </form>
    

    【讨论】:

    • 每种输入类型的链接都不相同-.-
    • 我假设他想提交输入数据,因此需要三种不同的形式
    【解决方案5】:

    我同意昆汀的观点。你为什么要这样做是没有意义的。它是Semantic Web 概念的一部分。您必须为将来的集成/扩展规划您的网站对象。如果不遵循正确的用例,其他网络应用或网站将无法与您的内容进行交互。

    IE 和 Firefox 是两种不同的野兽。 IE 允许 Firefox 和其他支持标准的浏览器拒绝的很多东西。

    如果您尝试创建按钮而不实际提交数据,请使用 DIV/CSS 的组合。

    【讨论】:

      【解决方案6】:

      你可以做到。输入类型提交应该在表单内。然后,您所要做的就是在表单标签内的 action 属性中写入要重定向到的链接。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-10-10
        • 1970-01-01
        • 2013-02-14
        • 1970-01-01
        • 2017-07-16
        相关资源
        最近更新 更多