- ベストアンサー
エンターで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>"; ?>
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
試してないけど、INPUT type="image" ってenterに反応するかな。 # ブラウザによって送信できなくなってしまうのでボタンを隠すことはあまり賛成できません。
その他の回答 (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>
お礼
コードまで書いていただいてありがとうございます。 明日早速試してみたいと思います。
- athanasius
- ベストアンサー率37% (361/964)
「enter」とは、キーボードのenterキーのことですよね? キーボードでsubmit することは、簡単です。 javascript で キーイベントを拾って、form を submit するだけで出来ます。 具体的な コードは、調べてみてください。 実際、難しくないですから。 PHP だけでは....不可能です。
お礼
やはりjavascriptで無理やりsubmitさせる方法しかないようですね。 ありがとうございました。
補足
<form method="post"><input type="text" size="10" name="obj1"></form> 上記のような感じで、テキストボックス1個では動作したもので、 なんとか方法無いかなと思い質問させて頂きました。
補足
type=imageで透過gifを1x1で表示させ対応しました。 助言本当にありがとうございます。