文件上传点击模拟按钮触发表单

时间:2013-09-02 22:37:19

标签: javascript jquery

我正在创建一个图库,允许上传者一次上传图片/多张图片。默认情况下,会显示一个文件输入,其中包含相应图像描述的文本输入。

我还有另一个按钮,用于模拟为了美学目的而点击的文件输入。单击此按钮后,文件浏览器会触发,但放置文件输入的表单似乎会提交?

<button id="new-dialogue">add image</button>
<form action="action.php" method="post" enctype="multipart/form-data">
    <div class="create-upload">
        <!-- SECTION REPEATED WITH DIFFERENT IDS AS #NEW-DIALOGUE CLICKED -->
        <div class="upload">
            <input class="image-upload" type="file" id="input1" name="file[]"/>
            <button class="btn-select" id="1">select file</button>
            <input id="desc" type="text" name="desc[]"/>
        </div>
       <!-- SECTION --> 
    </div>
</form>

使用JavaScript

$('document').ready(function() {
var i = 1;
$('#new-dialogue').click(function() {
    i++
    if(i >= 6) {

    } else {
        $('.create-upload').append('<div class="upload"><input class="image-upload" type="file" id="input' + i + '" name="file[]"/><button class="btn-select" id="file' + i + '">select file</button><input id="desc" type="text" name="desc[]"/></div>');
        $('.image-upload').imgPreview();
    }
});
$('.btn-select').click(function () {
    var id = this.id;
    $('input#input' + id).click();
});
});

1 个答案:

答案 0 :(得分:2)

type='button'设置为禁止该按钮充当submit类型。

<button class="btn-select" id="file1" type='button'>select file</button>