4

2 つの異なるフォームを含む 1 つのページがあります。最初のフォームでは、ユーザーは画像ファイルをアップロードして電子メールで送信できます。2 番目のフォームでは、ユーザーの入力に基づいて URL を生成します。

画像名を URL に追加するには、最初のフォームのフィールドから画像名をコピーする 2 番目のフォームにフィールドが必要です (ユーザーに画像を参照して選択させる必要はありません)。 1 ページに 2 回)。フォーム間であるフィールドから別のフィールドにデータをコピーするために私が見つけた最良の方法は、この jQuery コード: http://jsfiddle.net/nA37d/ですが、私の目的では機能しません。たとえば、テキスト フィールドからテキスト フィールドへはうまく機能しますが、ファイル フィールドからテキスト フィールドへ、またはファイル フィールドからファイル フィールドへは機能しません。

フォーム 1 のファイル フィールドの値を取得して、フォーム 2 の任意の種類のフィールドにコピーする方法はありますか? これが私の基本的なコードです:

<script type="text/javascript">
$(function(){
    bindGroups();
});

var bindGroups = function() {
    // First copy values
    $("input[name='logotoo']").val($("input[name='logoname']").val());

    // Then bind fields
    $("input[name='logoname']").keyup(function() {
        $("input[name='logotoo']").val($(this).val());
    });
};
</script>


<form action="#..." method="post" enctype="multipart/form-data">
<input type="file" name="logoname" value="1" />
<input type="submit" value="Upload" /></form>


<form name="form2" action="/url/" method="get">
<label>Logo Name</label> <input type="text" name="logotoo" />
<input type="submit" value="Generate URL" /></form>

あなたが与えることができるどんな助けにも感謝します!

4

1 に答える 1

2

change()キーアップではなく、入力タイプファイルにハンドラーを使用するだけです。

http://jsfiddle.net/nA37d/169/

 $("input[name='a1']").change(function() {
        $("input[name='b1']").val($(this).val());
    });

入力ファイルから入力ファイルへの場合、セキュリティ上の理由から可能だとは思いません。

ところで、このコードはリファクタリングする必要があります。

于 2013-01-21T18:29:39.753 に答える