使用HTML和JQuery打开对话框的按钮

时间:2013-11-08 19:06:03

标签: javascript jquery html5

我正在创建一个设计网页的Web应用程序。我使用html5来创建这个应用程序。我想创建一个弹出打开对话框的按钮,用户可以在其中选择图像或视频。选择后,图像将被插入页面。

我已经搜索了但它让我更加困惑。我想使用哪些功能/方法和链接?

2 个答案:

答案 0 :(得分:5)

你可以做一些工作来设计风格,但这是一般的想法:

假设您有一些非常简单的标记:

<input type='file' />
<img id="myImg" src="#" alt="your image" />
  • 您想要点击change元素的<input type='file' />事件。
  • 在那里,检查是否已选择任何文件,如果是,则检查数组中的第一个文件是否存在。
  • 然后创建一个新的FileReader对象。我们将告诉这个对象两件事:
    1. 当它引发onload事件时,它应调用函数imageIsLoaded
    2. 然后从第一个文件中取出数据并将其读入。
      • 完成后,它将在第一步中引发事件

JavaScript 中,看起来像这样:

$(":file").change(function () {
    if (this.files && this.files[0]) {
        var reader = new FileReader();
        reader.onload = imageIsLoaded;
        reader.readAsDataURL(this.files[0]);
    }
});

function imageIsLoaded(e) {
    $('#myImg').attr('src', e.target.result);
};

在此示例中,加载图像时,我们将替换imageIsLoaded函数中标记中img的source属性。

Working Demo In Fiddle

答案 1 :(得分:2)

您想要使用

<input type="file">

您可以使用HTML5 FileReader立即在本地获取文件,或者将其提交给您自己做一些事情。