• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:javascript submit()の後の動作)

javascript submit()の後の動作

このQ&Aのポイント
  • フォームの送信動作は正常に実行されますが、エンターキーを押した際の動作が実行されません
  • document.getElementById('ctxt').value= '';が実行されません
  • document.forms[txt_submit].submit();の後の部分が実行されるようにするにはどうすれば良いでしょうか?

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

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

>document.forms[txt_submit].submit();の後の部分が実行されるようにするにはどうしたらいいのでしょうか? まずこの部分ですが、 --------------- document.forms[txt_submit].submit(); --------------- ではなく、send()の中で指定しているのと同様、 --------------- document.txt_submit.submit(); --------------- にする必要があると思います。 これにより、ChromeとIE11での動作は手元でも確認できました。 ただ、FireFoxだと「window.event.keyCode」の値が取れないようでエラーになります。 eventをKey_onの関数に渡すやり方はいくつか在るかとは思いますが、簡単な方法としては、 ■HTML --------------- <input type="text" id="ctxt" name="ctxt" size="20" value="" onkeydown="Key_on(event.keyCode)"> --------------- event.keyCodeを引数として渡す。 ■Javascript --------------- function Key_on(keyCode){ if(keyCode == 13){ document.txt_submit.submit(); document.getElementById('ctxt').value= ''; alert('ん?'); } } --------------- keyCodeで受けて判定する。 という形にすれば期待の動作になるかと思うのですがいかがでしょうか・・・? 確認しているブラウザはFireFox

angel2015
質問者

お礼

ありがとうございます 複数のPCとブラウザで確認したところクロームだけ期待の動作をしないという結果になりました。 クロームだけ別の処理をする方向で考えたいと思います

その他の回答 (1)

  • hwoa1024
  • ベストアンサー率36% (122/336)
回答No.1

submitは画面遷移を伴います。 このソースを見る限り、遷移先はlog.cgiになるので submit()のあとは次の行に行かずにlog.cgiファイルに飛んでしまいます。 動作させるにはsubmit()の前にソースを書くか、 もしくはlog.cgi側にソースを書くしかありません。

angel2015
質問者

お礼

回答ありがとうございました(`・ω・´)

関連するQ&A