1

次のように、自動アップロードが有効になっているファイルアップロードボタンがあります。

<form id="fileupload" action="home/uploadprofilepic" method="POST" enctype="multipart/form-data">
    <span class="btn btn-success fileinput-button">
        <i class="icon-plus icon-white"></i>
        <span>Add files...</span>
        <input type="file" name="files">
    </span>
</form>

$(document).ready(function() 
{
    $("input[name=files]").change(function() {
        $(this).closest("form").submit();
    });
});

ただし、これをhtmlとして動的に挿入したい。自動アップロードの JavaScript も追加する必要があります。これは私がこれまでに持っているものです:

$('#uploadPicId').popover({ 
    title : 'Edit Profile Picture', //this is the top title bar of the popover. add some basic css
    html: 'true', //needed to show html of course
    content : '<form id="fileupload" action="home/uploadprofilepicmeta" method="POST" enctype="multipart/form-data">'+
            '<span class="btn btn-success fileinput-button">'+
            '   <i class="icon-plus icon-white"></i>'+
            '    <span>Add files...</span>'+
            '    <input type="file" name="files">'+
            '</span>'+
            '</form>'
 });

自動アップロードを機能させるには、javascript を追加する必要があります。これを行う方法はありますか?私はかなり迷っています。

ありがとう。

4

1 に答える 1

2

代わりに、上記の js を次のように変更します。

$(document).ready(function() 
{
    $("body").on("change", "input[name=files]", function() {
        $(this).closest("form").submit();
    });
});

主な違いは、ボディ全体にイベント リスナーを設定することと、指定された入力からイベントが起動された場合、html が動的に追加されたかどうかに関係なく、関数を起動することです。

于 2013-01-07T02:56:12.583 に答える