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

File upload click simulation button triggers form

本文关键字:按钮 表单 模拟 文件      更新时间:2023-09-26

我正在创建一个库,允许上传者一次上传一个图像/多个图像。默认情况下,一个文件输入与对应图像描述的文本输入一起显示。

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

<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();
});
});

Put type='button'可禁用按钮作为submit类型。

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