0

フォームが iframe に送信されていない次のコードで、私が間違っていることを誰かに教えてもらえますか?

$(function() {
    $(".preview").click(function() {
        $('#sliderimage').wrap('<form action="/index/upload.php" method="post" id="imageform" target="imageupload" />');
        $('#imageform').submit();
        $('#sliderimage').unwrap();
        return false;
    });
});​


<iframe style="display: none;" name="imageupload" id="imageupload"></iframe>
<input type="file" id="sliderimage" name="sliderimage">
<input type="button" class="preview" value="Preview">
4

1 に答える 1

0

すぐにわかる問題が 2 つありますが、それらが問題を解決するかどうかはわかりません。

「タイプ」を に設定しましたpost。この属性は である必要がありますmethod

同様に、フォームに enctype を設定する必要があります。

$(function() {
    $(".preview").click(function() {
        $('#sliderimage').wrap('<form action="/index/upload.php" method="post" id="imageform" target="imageupload" enctype="multipart/form-data" />');
        $('#imageform').submit();
        $('#sliderimage').unwrap();
        return false;
    });
});​

編集

上記のコードは、ソースから直接カット アンド ペーストしたものです。これは、jsfiddle が JavaScript に貼り付ける 'hidden'(​) 文字も存在することを意味します。それを削除すると、js が機能します。これを行うには、js コードの最後でバックスペースを 1 回押すだけです。

于 2012-04-05T03:03:29.710 に答える