2

親ウィンドウにフォームがあり、

<form id="myform">
<username>
<password>
</form>

そしてjQueryで

$("#myform").submit(function(e){

e.preventDefault(); // prevent default form submit

//some of my other codes ...

});

そして、私はwindow.open新しいウィンドウを開くために使用しています

var popupWindow =  window.open("myUrl");

myformポップアップウィンドウからフォームを送信しようとしています

$(window.opener.document.getElementById("myform")).submit();

フォームは送信されていますが、問題は、添付イベントの代わりにデフォルトのフォーム送信を使用していることです。

私は何を間違っていますか?

私を助けてください。ありがとう。

4

4 に答える 4

1

わかった。

イベントが他のリソースからトリガーされた場合、jQuery を介してアタッチされたイベントが機能しないことに気付きました。

しかし、インラインイベントを使用したpure-jsではうまく機能します。

<form id="myform" onsubmit=" process(); "></form>

そしてそれはうまくいきます。

ありがとう。

于 2012-12-18T06:11:31.580 に答える
1

これは私が働いているものです:

Parent.html

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title></title>
</head>
<body>
    <input type="button" value="Try Me..." onclick='window.open("Child.html");' />
    <form action="post.html" method="post" id="myForm">

    </form>
</body>
</html>

Child.html

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title></title>
    <script>
        function submitParent() {

            window.opener.document.forms["myForm"].submit();
            window.close();
        }
    </script>
</head>
<body>
    <input type="button" onclick="submitParent();" value="Submit Parent" />
</body>
</html>

「親を送信」をクリックすると、子が閉じられ、親が「Post.html」に送信されます。

幸運を!

于 2012-12-18T06:03:30.347 に答える
-1

このようなことを試してください

        <div id="divform">
            <form action="/system/wpacert" method="post" enctype="multipart/form-data" name="certform">
                <div>Certificate 1: <input type="file" name="cert1"/></div>
                <div>Certificate 2: <input type="file" name="cert2"/></div>

                <div><input type="button" value="Upload" onclick="closeSelf();"/></div>
            </form>
        </div>
        <div  id="closelink" style="display:none">
            <a href="javascript:window.close()">Click Here to Close this Page</a>
        </div>

function closeSelf(){
    document.forms['certform'].submit();
    hide(document.getElementById('divform'));
    unHide(document.getElementById('closelink'));

}
于 2012-12-18T05:45:39.247 に答える
-1

を使用すると、新しいウィンドウが開きますwindow.open。それは新しいスレッドを開始します。同じ DOM コンテキストと、それに含まれる要素とイベントにはアクセスできません。

于 2012-12-18T05:47:43.373 に答える