0

jqueryを使用してフォームデータを新しいウィンドウに投稿しようとしています。しかし、私は失敗しました。

私のソースコードはこのようなものです

<!doctype html>
<html>
 <head>
  <script type="text/javascript" src="http://code.jquery.com/jquery-1.9.0.min.js" > </script>
  <script type="text/javascript">
        function submit_with_jquery(){
     var $form = $("<form></form>");
     var $input = $("<input name='imgInput' />");
     $form.prop("target", "photo_top")
        .prop("method", "post")
        .prop("action", "/common/board/photoViewWindow.jsp")
        .append($input)
        .bind("submit", 
            function(){ 
                window.open('','photo_pop','width=720,height=530,toolbar=no,resizable=no,scrollbars=no,left=50,top=50'); 
            } )
        .submit();
    }
  </script>
 </head>
 <body>
        <input type="button" onclick="submit_with_jquery()" value="submit with jquery" />
 </body>
</html>

(*私は編集して attr を prop に変更しましたが) ただabout:blank...

そして、このコードを試して成功しました。

<!doctype html>
<html>
 <head>
  <script type="text/javascript">
    function submit_with_tag(){
     window.open('','photo_pop','width=720,height=530,toolbar=no,resizable=no,scrollbars=no,left=50,top=50');
    }      </script>
 </head>
 <body>
    <form id="tagForm" action="/common/board/photoViewWindow.jsp" target="photo_pop" onSubmit="submit_with_tag()">
        <input name="imgInput" type="hidden"/>
        <input type="submit" value="submit with tag"/>
    </form>
     </body>
</html>

同じように機能すると思いますが、jQuery コードはそうではありません。最初のコードが機能しないのはなぜですか? どこで何か間違ったのですか?

4

1 に答える 1

2

あなたtargetは です"photo_top"。開いているウィンドウの名前は'photo_pop'?

それとは別に、Ajax は、フォーム要素を送信するためだけに手動で作成する最初の方法よりも優れたオプションかもしれません。

于 2013-01-16T00:48:39.413 に答える