• ベストアンサー

エンターでsubmitさせたい

テキストボックスが複数あるようなフォームを作っているのですが、 submitボタンを表示させず、エンターのみで動作するものを作りたいと思っています。 stype="display:none;"で表示を消すことができたのですが、 エンターを押しても動作しません。 ご存知の方教えて頂けると大変助かります。 <form method="post"> <input type="text" size="10" name="obj1"> <input type="text" size="10" name="obj2"> </form> <? print $_POST['obj1']."<br>"; print $_POST['obj2']."<br>"; ?>

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

  • ベストアンサー
  • Gizensha
  • ベストアンサー率34% (207/608)
回答No.3

試してないけど、INPUT type="image" ってenterに反応するかな。 # ブラウザによって送信できなくなってしまうのでボタンを隠すことはあまり賛成できません。

TERIMAYO
質問者

補足

type=imageで透過gifを1x1で表示させ対応しました。 助言本当にありがとうございます。

その他の回答 (2)

noname#84373
noname#84373
回答No.2

<html> <body> <form method="post" name="fm" action="test.php"> <p> <input type="text" name="t1"><br> <input type="text" name="t2"><br> <input type="text" name="t3"><br> <input type="text" name="t4" class="end"><br> </p> </form> <script> window.onload = function(){ document.body.onkeypress = chk; } function chk(e){ var o=e?e.target:event.srcElement; e=e?e:window.event; if(e.keyCode!=13) return; if(o.className.match(/end/)) document.fm.submit(); if(o.type!='text') return; var elms = document.getElementsByTagName('input'); for(var i=0,mx=elms.length-1;i<mx;i++){ if(o==elms[i]) elms[i+1].focus(); } } </script>

TERIMAYO
質問者

お礼

コードまで書いていただいてありがとうございます。 明日早速試してみたいと思います。

回答No.1

「enter」とは、キーボードのenterキーのことですよね? キーボードでsubmit することは、簡単です。 javascript で キーイベントを拾って、form を submit するだけで出来ます。 具体的な コードは、調べてみてください。 実際、難しくないですから。 PHP だけでは....不可能です。

TERIMAYO
質問者

お礼

やはりjavascriptで無理やりsubmitさせる方法しかないようですね。 ありがとうございました。

TERIMAYO
質問者

補足

<form method="post"><input type="text" size="10" name="obj1"></form> 上記のような感じで、テキストボックス1個では動作したもので、 なんとか方法無いかなと思い質問させて頂きました。

関連するQ&A