2012-04-05 9 views
0

フォームがiframeに送信されていないという次のコードで、私が間違っていることを教えてもらえますか?フォームを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"> 
+1

iframeに送信されていないことをどのように知っていますか?フォーム上に 'enctype =" multipart/form-data "'がありません。また、フォームタグの 'method'に' type'を入れてください。 – rlemon

+0

どうしますか?ページは更新されますか? upload.phpに行きますか?または何も起こらない?あなたはディスプレイを無効にしようとしましたか:none、iframe? iframeに何があるかを見てください。 – SinistraD

+0

upload.phpが<?php echo "run"を読み込むため、フォームが送信されていないことを知っています。 ?>、iframeにはrunという文字列が含まれていないので、送信されませんでした。 – Renari

答えて

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; 
    }); 
});​ 

EDIT

上記のコードは、直接カットであり、あなたのソースから貼り付ける....これは(<€a)の「隠れた」という意味の文字jsfiddleペーストあなたのjavascriptにそこにもあります。それを削除すると、jsが機能します。これを行うには、jsコードの最後に一度バックスペースを入れます。

+0

ありがとう、私はこれらの変更を加えたが、修正していない。 – Renari

+1

私のアップデートとhttp://rlemon.com/example.htmlの動作例を参照すると、ミステリーキャラクターが再び攻撃を受ける! – rlemon

+0

ありがとう、それは奇妙な笑です。 – Renari

関連する問題