【问题标题】:Submit button doesn't work in IE提交按钮在 IE 中不起作用
【发布时间】:2011-04-27 20:10:36
【问题描述】:

我在我的 html 中声明了一个 iFrame,源代码是我的 XQuery 文件。在我的 XQuery 中,我定义了一个 <div>,在其中我还声明了一个名为“convert”的按钮。

我的 XQuery 文件基本上是这样的(这是 iFrame 的来源)

return
<div id="content">
 <table>
  ....
  <tbody>
  {
  ...
   <td>
    <a id="{$t/@id}"
       rel="nofollow"
       target="_new"
       name="{util:document-name($t)}:{util:node-id($t)}"
       href=
        "http://localhost:8080/exist/rest/db/motorola/xquery/toDita.xql?xml={
            util:document-name($t)
         }&amp;xsl=mot2dita.xsl">
        <input type="submit" value="convert"/>
    </a>
   </td>
   ...
  }
  </tbody>
 </table>
</div>

如您所见,在 td 中,我声明了一个名为“convert”的按钮,“href”给出了链接。现在这个按钮在 Firefox 和 Chrome 中完美运行(打开一个新窗口来执行任务),但在 IE 中,点击它后,它什么也不做。

我想知道这是浏览器问题还是我的 XQuery 脚本有问题。提前感谢您的帮助。

【问题讨论】:

    标签: html xml browser button xquery


    【解决方案1】:

    &lt;input&gt; 标签在 &lt;a&gt; 标签内无效。 XHTML 代码因此无效,这将解释不一致的行为 - 一些浏览器比其他浏览器更擅长补偿这种奇怪的情况。

    建议您完全删除 &lt;input&gt; 并使用 CSS 设置您的 &lt;a&gt; 标记的样式,使其看起来像一个按钮,如果它只是您所追求的按钮的外观。

    【讨论】:

    • 或使用&lt;input type="image" /&gt;
    • 可能,但我怀疑这也会失败。如果&lt;input type="submit" /&gt; 在这里不起作用,我希望&lt;input type="image" /&gt; 也会受到同样的影响。两者都不是有效的 XHTML。
    • 对不起,我误读了你的答案。如果它首先从锚标签中取出,则取决于 OP 实际尝试执行的操作。既然你的回答被接受了,我猜你是对的......
    • @Blowski 没问题。我必须承认我自己没有使用过 XQuery,但它看起来确实像 &lt;a&gt; 是他试图使用的。如果没有 &lt;form&gt; 来支持输入,他们无论如何都不应该做任何事情。
    【解决方案2】:

    除非您在表单中,否则它不会提交任何内容...绝对不是 A 标记。

    我更喜欢使用 Jquery UI 的按钮功能来实现这些。它获得您正在寻找的所需行为,逐步增强和测试以处理浏览器的全部范围,并且可以使用 href 链接、按钮元素或 input type=submit 元素来完成。此外,造型看起来很棒,而且是即时的。

    这里有一个简短的 tut:http://www.filamentgroup.com/lab/styling_buttons_and_toolbars_with_the_jquery_ui_css_framework/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-04-09
      • 1970-01-01
      • 2015-04-08
      相关资源
      最近更新 更多