-1

私は次のフォームを持っています:

<form enctype="multipart/form-data" action="uploader.php" method="POST">
<input name="uploadedfile" type="file" />
</form>

ユーザーが uploadfile 入力をクリックしてファイルを選択すると、ページの別の領域でこのボタンをクリックできます。

<a id="button">My button</a>

マイボタンをクリックして、フォームのアップロードをトリガーするにはどうすればよいですか? 重要: フォーム内に配置したり、入力要素にすることはできません。これは、可能であればページのリロードを伴わない ajax スタイルの操作である必要があります。

4

4 に答える 4

1

フォームに ID を指定できます (または、さまざまなバリエーションのいずれかを使用してフォームを選択します)。

<form id="myForm" [...] >

jQueryを使用してフォームを送信します。

$('#myForm').submit();

送信機能をボタンのクリック イベント内に配置する必要があります。

$('#button').click(function(){
    $('#myForm').submit();
});

アップデート

ajax を使用してフォームを送信するには、次のようにします。

$('#button').click(function(){
      var form = $('#myForm');
        $.ajax({
          url: form.attr('action').val()  ,
          type: 'POST' ,
          data: form.serialize()
        });
    });

ファイルをアップロードしている場合は、次の jQuery プラグインのいずれかを確認することをお勧めします。

于 2012-04-26T15:07:23.687 に答える
0

フォームへの参照を取得してから呼び出す.submitだけです。

$("#button").click(function() {
    $("form[action='uploader.php']").submit();
});

idなどのより主流のセレクターで選択できるように、フォームにも指定することをお勧めします$("#theForm")

于 2012-04-26T15:07:59.887 に答える
0

jQueryトリガー関数を使用できます

$("#button").click(function(){
    $("form").trigger('submit');
})​;

ここでデモをチェック

于 2012-04-26T15:10:27.743 に答える
0

上記の回答のようにすることも、こちらのようにページを更新することなくフォームを送信することもできます

于 2012-04-26T15:10:34.670 に答える