【问题标题】:How do I use a link instead of the browse button to attach a file?如何使用链接而不是浏览按钮来附加文件?
【发布时间】:2009-08-03 19:44:38
【问题描述】:

我有如下表格:

<form id="submit_idea" name="submit_idea" method="post" action="">
  <a class="attach" title="Attach a file" onclick="clickAttachment()"
     href="javascript:void(0)">Attach File</a>
  <span id="id_filename"/>
  <input id="id_attachment" type="file" name="attachment"/>
  <input class="submit_btn" type="image" alt="Submit Idea" src="/static/img/submit_idea.png"/>
</form>

以及随之而来的相关 javascript。

function updateAttachment() {
    var val = $("#id_attachment").attr("value");
    if (val) {
        var name = val.split('\\');
        $("#id_filename").html(name[name.length - 1]);
    }
    else {
        setTimeout(updateAttachment, 500);
    }
}

function clickAttachment() {
    jQuery('#id_attachment').click();
    setTimeout(updateAttachment, 500);
}

这对 IE 很有效,但对 FireFox 3.5.1 根本不起作用。是否有另一种方法可以在 FF 3.5.1 或更高版本中仅使用 dhtml/javascript(无 Flash 等)获得相同的结果?

我们可以使用 CSS 来修饰“附加文件”链接,但我们不能更改 FireFox 为表单设置的浏览按钮的布局。 IE解决方案让我们通过代理点击按钮浏览文件,但在FireFox下不行。

提前致谢,-彼得

【问题讨论】:

  • 您使用的是哪个 JavaScript 框架?请适当地编辑标签:)

标签: javascript jquery forms attachment


【解决方案1】:

我相信这就是你要找的东西

Styling an input type="file"

【讨论】:

  • Niiice。我必须记住这一点!我对 的样式化选项从来都不满意
  • 嗯,差不多。我们根本不需要按钮,我们只需要链接,就像 Google 的撰写邮件“附加文件”一样。
  • 您可以使用相同的技术来隐藏浏览按钮并显示链接
猜你喜欢
  • 1970-01-01
  • 2012-09-04
  • 1970-01-01
  • 2014-05-26
  • 2020-04-16
  • 2012-09-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多