1

1 つの送信ボタンを使用して複数のフォームを送信するアプリケーションがあります。フォームにはアップロードする画像が含まれている可能性があるため、jQuery Form Pluginの使用を検討しています。

各フォームは、処理のために同じサーバー側スクリプトに送信する必要がありますが、以下のコードを使用すると、サーバー側スクリプトが 2 回呼び出されていることがわかりますが、データではなく、最後に送信されたフォームから同じフォーム データが提供されます。各フォームから。

こちらがhtml

<form id="form1" method="POST" enctype="multipart/form-data" >
    <input type="text" name="product_name" /><br />
    <select name="product_category">
        <option value="Long sleeved">Long Sleeved</option>
        <option value="Short Sleeved">Short Sleeved</option>
    </select><br />
    <input type="file" name="userfile[]" /><br />
    <input type="file" name="userfile[]" />
    <input type="file" name="userfile[]" /><br /><br />
</form>

<form id="form2"  method="POST" enctype="multipart/form-data" >
    <input type="text" name="product_name" /><br />
    <select name="product_category">
        <option value="Long sleeved">Long Sleeved</option>
        <option value="Short Sleeved">Short Sleeved</option>
    </select><br />
    <input type="file" name="userfile[]" />
    <input type="file" name="userfile[]" /><br /><br />
</form>

<a href="#" id="myButton">Submit</a>

とJavasript

$(document).ready(function() { 
    var options = {
            url: 'comment.php'
        }

    $('form').each(function(){
        $(this).ajaxForm(function() { 
            // optionally do stuff here after forms submitted
        });
    });

    $('#myButton').click(function() {
        $('form').each(function(){
            $(this).ajaxSubmit(options);
        });
        return false; 
    });
});

ヘルプ/アドバイスをありがとう。

4

1 に答える 1

-2

ajax を介してファイルをアップロードすることはできません。インタラクティブなアップロードを行いたい場合は、HTML5 を使用するか、別の iframe でフォームを作成する必要があります。

于 2013-09-10T15:11:23.453 に答える