時間が経つと送信できない理由と解決方法は?

このQ&Aのポイント
  • Xボタンを押下してもsubmit処理が実行されない問題が発生しています。
  • ソースコードにはonunloadイベントを使用してsubmit処理を行っていますが、一定時間経過後にはうまく動作しないようです。
  • ボタンを押下した場合には正常にsubmit処理が実行されるため、原因は時間の経過に関係している可能性があります。
回答を見る
  • ベストアンサー

時間が経つと送信できない・・・

現在、かなり困っているのでどなたかご教授ください。 ブラウザの右上のXボタン押下時の処理として bodyタグにonunload処理を記述し、JavaScriptでSubmit を行っています。 ですが、4,5分置いてからXボタンで消そうとするとJavaScriptの処理は走るのですが、submitメソッドを 通過しても処理されません。 一応、パケットも確認いたしましたが、全く飛んでいる気配がありませんでした。 下記はソースの抜粋です。 function endPage() {   if(flg == true){   document.logoffActionForm.submit();   } } <body bgcolor="#fafaf0" onunload="return endPage()"> <center> <br> <font color="#ff0000" size="2" class="size12px"> </font> <br> <br> <html:form action="/logoff"> <html:image src="images/btn_logoff.gif" onclick=""/> </html:form> </body> ちなみに、時間が経っても、ボタンを押下(ソースで言うimageタグのところ)するとちゃんと submit処理が行われます。 いったい何が原因なのか見当がつきません・・・ どなたか、お助けください・・・・・ 環境 Tomcat2.1.24 Struts1.1 JDK 1.3.0.1

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

私では、力不足でわからなそうですが、もう一回教えてください。 >フラグに関しましては、logoffActionFormに持っている値を見てチェックしているので、通りません(2,3分おいた場合では動いています)。 ということは、 if(flg == true){   document.logoffActionForm.submit();   } のflgが2,3分おいた場合ではtrueだけど、4,5分おくと、falseになるということですか? 私の普段の開発環境では使わないキーワードが出てきているので、的外れな補足要求だったらごめんなさい。

utatane
質問者

補足

いえいえ、処理そのものはsubmitを通過しています。 フラグが変化しているわけではないのです^^;

その他の回答 (1)

回答No.1

私が自分で作った簡単なソースでは4,5分置いて動いていますが。 質問があります。 4,5分置いてからXボタンで消そうとしたときのflgの状態はどうなってますか(alert確認)? logoffActionFormはどのように指定していますか?

utatane
質問者

補足

フラグに関しましては、logoffActionFormに持っている値を見てチェックしているので、通りません(2,3分おいた場合では動いています)。 logoffActionFormの指定は、struts-config.xmlで <form-bean name="logoffActionForm" type="xxxx.form.LogoffActionForm"> </form-bean> 処理を呼ぶ宣言では、 <action path="/logoff" type="xxxx.action.LogoffAction" name="logoffActionForm" scope="session" validate="false"> <forward name="success" path="/logoff.jsp" /> <forward name="failure" path="/syserror.jsp" /> </action> としています。

関連するQ&A

  • FORMタグ内に複数submitボタンがある場合の問題

    お世話になります。 質問タイトルがあまり適切でなくすみません。HTMLに関する質問です。 FORMタグ内に複数のsubmitボタンを配置し、FORM内のテキストボックスへフォーカスを充てた場合、Enterキーを押下すると上にあるボタンが反応してしまいます。 下のボタンを反応させたいのですが、JavaScriptを使わず下のボタンを指定する方法はあるのでしょうか。 ご存知の方いらっしゃいましたら、よろしくお願いします。 ■参考ソース <FORM id="form" action="ジャンプ先URL" > <INPUT type="text" /> <br /> <INPUT type="submit" value="ボタン1" /> <br /> <INPUT type="submit" value="ボタン2" /> </FORM>

    • ベストアンサー
    • HTML
  • 複数のフォームから送信

    複数のフォームからtextの値を送信したいのですができますか?〒番号を入力して検索ボタンをおすと住所がでてきて最後に登録をしたいです。検索だけのプログラムはできてますがフォームを二つにすると両方のsubmitが登録になります・・・ 一応自分でいろいろためしましたがだめでした。。。 html,php,javascriptです。 二つともだめでした。。。。 rei1.php ------------------------- <html> <body <form method="POST" action="1.php"> お名前:<input type="text" name="name"> <br> <br> <form method="POST" action="yubin.php"> 〒:<input type="text" name="yubin"> <input type="submit" value="検索"> <br> 住所:<input type="text" name="zyu"> <br> </form> メールアドレス:<input type="text" name="email"> <br> <input type="submit" value="登録する"> </form> </body> </html> -------------------------------------- rei2.php -------------------------------------- <html> <head> <script language="javascript"><!-- function send() { document.nform.submit(); document.nform2.submit(); document.nform3.submit(); } //--></script> </head> <body> <form name="nform" method="POST" action="1.php"> お名前:<input type="text" name="name"> <br> </form> <form name="nform2" method="POST" action="yubin.php"> 〒:<input type="text" name="yubin"> <input type="submit" value="検索"> <br> 住所:<input type="text" name="zyu"> <br> </form> <form name="nform3" method="POST" action="1.php"> メールアドレス:<input type="text" name="email"> <br> <input type="submit" value="登録する"> </form> </body> </html> ------------------------------------

  • javascript内からのsubmit

    PHP初心者です。 javascript内でsubmitを行い、値をPHP内で受け取る想定ですが、うまく作動しません。 具体的には下記のソースで、// Aの処理に入ってきて欲しいのですが、//B に入ってきます。 初歩的なことのなのかもしれませんが、どこが間違っているのか分からずはまっています。 ご教授ください。 ソースは以下です。 ■JavaScriptとForm(admLogin.html) <script type="text/javascript" src="js/jquery-1.9.0.min.js"></script> <script type="text/javascript"> function fncLogin(){ $("#frmAdmLogin").submit(); } </script> <body> <form id="frmAdmLogin" action="admLogin.php" method="post"> <input type="text" id="txtAdmId" /> <input type="text" id="txtAdmPass" /> <input type="button" name="btnLogin" value="ログイン" onclick="fncLogin()"/> </form> </body> ■PHP(admLogin.php) <?php if(isset($_POST['btnLogin'])) { // A }else{ // B } ?> ログインボタン押下 ↓ fncLogin内からフォームをsubmit ↓ // A の処理に入ってくる想定なのですが、//B の処理が実行される。 ちなみに、ボタンのinput typeをsubmitにすれば//A の処理に入ってくるのですが、 javascript内からsubmitしたいため、困っています。 どこを間違えているのでしょうか。。

    • 締切済み
    • PHP
  • 同じデータを2つのボタンに送信

    ○年○月~○年○月とプルダウンで範囲を選択したデータを2つのsubmitで送りたいのですが出来ません。 ここを見る限りJavaScriptなら出来そうなのですが、どうやったら出きるか教えて下さい。 formタグの中に2つのsubmitがある場合はこちらの質問でよく有ったのですが、formタグが2つ有ってそれぞれにsubmitが有るように作ってます。

  • JavaScriptを使ったらサーブレットの検索が出来なくなりました…

    お世話になります。 HTMLでテキストフォームに検索条件を入力し、送信ボタンを押すと 検索するサーブレットにとんで結果をJSPで表示する…という プログラムを作っています。 HTML上で、テキストフォームが未入力の場合はJavaScriptで 警告ウィンドウを表示させる様に作ったのですが、テキストフォームに 検索条件を入力した時にサーブレットにとばなくなってしまいました。 検索条件を入れて送信ボタンを押してもページは変わらず、 フォーム内容はクリアされます。この時は警告は出ません。 JavaScriptのコードを削除するとちゃんと検索結果のJSPにまで 処理が行われるのですが…。 参考までに、HTMLのソースも載せておきます。 <html> <head> <title>検索画面</title> <script language="JavaScript"> <!-- function getError() { txt=document.searchForm.search.value; if (txt=="") { alert("何も入力されていません!"); } } //--> </script> </head> <body> <center> <br><br><br><br><br><br><br><br><br><br> <b><font color=Salmon size=4>検索条件を入力して下さい。</font></b><br><br> <form name="searchForm"> <form method="post" action="../kadai7/Show" > <input type="text" name="search" size="25" maxlength="10">&nbsp; <input type ="submit" value="GO!" onClick="getError()"> </form> <a href=Menu.htm>★MENUに戻る★</a><img src="HTML\poo.gif"> </center> </body> </html> どうすればちゃんと処理されるようになるのか分かりません。 宜しくお願いします。

  • ブラウザに文字が表示されません。

    はじめまして。 質問があります。 以下のコードを見てください。 ---------------------------------------------------------------- <html> <head> <script type="text/javascript"> <!-- function rand() { window.document.getElementById("i").innerHTML = Math.random(); } //--> </script> </head> <!-- <body onLoad="rand()"> --> <body> <form name="myform"> <input type="submit" name="submit" onClick="rand()"><br> </form> <div id="i"></div> </body> </html> ---------------------------------------------------------------- あらかじめonLoadイベントでrand()関数を呼び出しておくと、後から 送信ボタンを押下すると、 ブラウザに乱数が表示されるのですが、onLoadイベントを使用せずに 送信ボタンを押下するとブラウザに 乱数が表示されません。これは一体なぜなのでしょうか? 例えば、レイアウトが一度確定したら、そのレイアウトに後から 文字などを表示させることができないなどというような原因 なのでしょうか?よくわかりません。ご教授お願いします。

  • JavaScriptのソースコード教えてください。

    JavaScriptで下記はボタンではなく画像でリンク先が出現するソースを実現したいです。 <script type="text/javascript"などでjsファイルを読み込むような感じでもいいです。 ここまでがjsファイルでここまでがhtmlと言うように分けて記述してもらえると助かります。 <html> <head> <title>oooのページ</title> <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <script language="javascript"> <!-- function next(){ location.href="ttp://www.ooo.jp/ooo/123456"; } function Check() { var obj = document.getElementById("agreement"); if(obj.scrollTop + obj.clientHeight >= obj.scrollHeight - 1) { document.form1.submit1.disabled = false; document.form1.submit1.focus(); } } //--> </script> </head> <body bgcolor="#FFFFFF" text="#000000"> <table width="500" border="0" cellspacing="0" cellpadding="5"> <tr> <td align="center" bgcolor="#999999"><font color="#000000"><b>ご利用規約</b></font></td> </tr> <form name="form1" action="" method="post"> <tr> <td align="center"> <div id=agreement style="width:400px; height:100px; overflow: scroll; border:1px solid gray;" onScroll="Check()"> テキスト<br> テキスト<br> テキスト<br> テキスト<br> テキスト<br> テキスト<br> </div> <input type="button" value="依頼する" name="submit" id="submit1" disabled onClick="next()"> <input type="submit" value="キャンセル" name="submit2" id="submit2" onclick="history.back()"> </td> </tr> </form> </table> </body> </html>

  • submitボタンを表示することなく、アンカータグでpost伝送する方法

    javascriptとphpとの双方または何れか一方を用いることにより、 以下のことを実現する方法を教えて下さい。 〔記〕 「<form>タグを用いてPOST伝送する際に、submitボタンに代えて アンカータグを用いる方法」 なお、submitボタンに相当する<input>タグはhtmlソースに含まれてもよいですが、ブラウザ画面上には表示したくありません。 以上、どうかよろしくお願い致します。

  • 複数のsubmitによって送信するデータを変える

    HTML内にsubmitボタンが複数あるとします。 通常は、<FORM>タグの中の全てのデータを送信してしまいますが、 FORMタグを2つ用意しないで、 submit Aボタンはこの入力フォームの値を送信。 submit Bボタンはこの入力フォームの値を送信の様にできないものでしょうか?

  • ENTERキー押下でフォームを送信したいのに・・・

    PHPとHTMLでフォームをいくつか作り、画像タイプの送信ボタンを押下すると送信されるようにしています。ところが、IEの場合、ENTERキー押下で送信できる(下記のPHPの制御文がtrueになる)ものと、できないものがあります。ボタンをクリックすればいずれも送信できます。また、FirefoxではどのケースでもEnterキー押下で送信できます。送信ボタンはどのフォームでもひとつです。 何がどういう場合に、IEでEnterで送信できないのでしょうか? ○HTML側 <form...> ... <input type="image" name="submit" ...> </form> ○PHP側 if(isset($_POST['submit_x']) { ... }

    • 締切済み
    • PHP