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 回答