0

ここに私のHTMLがあります:

<!DOCTYPE html>
<html>
   <head>
   </head>
   <body onload="load()">
       <script src='http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js'></script>
       <script src='http://ajax.googleapis.com/ajax/libs/jqueryui/1/jquery-ui.min.js'></script>

       <div id="container">
           <form id="inputFrm" action="/hello" method="post">
               <input name="value" id="myValue" value=1000 size=8 />
               <input name="symbol" id="mySymbol" size=10 />
               <input type="submit">
               <input type="button" id="mySubmitBtn" value="MySubmit">
               </table>
           </form>
       </div>
       <script>
           $(document).ready(function() {
               $("#mySubmitBtn").click(function ()
               {
                   var value =document.forms["inputFrm"]["myValue"].value;
                   var symbol =document.forms["inputFrm"]["mySymbol"].value;

                   alert(value)
                   alert(symbol)

                   $("#inputFrm").submit();
               });
           });
       </script>
   </body>
</html>

この HTML コードは、別のページによって開かれる別のウィンドウを表します。たとえば、次の HTML が「新しい」リクエストへの応答としてサーバーから返されるとします。

window.open('/new')

このウィンドウでは、フォームは jQuery submit 関数呼び出しによって送信されません。

ここで何が間違っていますか?

同様の投稿を見てきましたが、この特定のコードに対する答えが見つかりませんでした。

4

4 に答える 4

3

#IDセレクターの場合、IDのプレフィックスとして必要です。セレクターの詳細については、カテゴリー: セレクターを参照してください。

ライブデモ

変化する

$("inputFrm").submit();

$("#inputFrm").submit();

に投稿する場合は、フォームアクション タグのURLも設定する必要があります。hello.php

<form id="inputFrm" action="hello.php" method="post">
于 2012-12-07T07:50:06.960 に答える
0

submit イベントは、ユーザーがフォームを送信しようとしたときに要素に送信されます。要素にのみアタッチできます。

HTML:

<form action="yourfile.html">
    <input type="text" value="Hello there" />
    <input type="submit" value="Go" />
</form>

jQuery:

$('form').submit(function() {
    alert('Handler for .submit() called.');
    return false;
});

http://api.jquery.com/submit/

他の方法はAjaxをやっています:

HTML

<form>
    <input type="text" value="" name="fname" />
    <input type="text" value="" name="lname" />
    <input type="submit" value="Go" />
</form>

jQuery:

$('form').submit(function() {
    $.ajax({
        url     : 'email.php',
        type    : 'POST',
        data    : $(this).serialize(),
        success : function (serverResponse) { /*success*/ },
        error   : function (jqXHR, textStatus, errorThrown) { /*handler errors*/ }
    });
});
于 2012-12-07T08:06:35.523 に答える
0

やるだけ -

$("form#inputFrm").submit();
于 2012-12-07T07:50:54.263 に答える