2012-04-26 2 views
7

私は以下のようにフォーム上のボタンを提出していないと、単一のテキストボックスを持っている:つのテキストボックスと提出行動

<html> 
    <form action="http://www.google.com"> 
     <input type="text"/> 
    </form> 
</html> 

テキストボックスが選択され、私は、キーフォームが送信されますと、GoogleのページがなるEnterキーを押しますされている場合表示されます。 しかし、私は怒鳴るように2つのテキストボックスがある場合:私は何も起こりません送信ボタンを押すと、今

<html> 
    <form action="http://www.google.com"> 
     <input type="text"/> 
     <input type="text"/> 
    </form> 
</html> 

を。

誰でもここで説明できますか:
i)なぜフォームが最初のケースで提出されるのですか?
ii)2番目のケースでフォームが提出しないのはなぜですか?

答えて

6

HTML 2.0 Specsのいずれかでイベントを提出し、サーバーにデータを送信したいときボタンを使用するか、定義することができ、その理由が考えられます。

フォームに1行のテキスト入力フィールドが1つしかない場合、 ユーザーエージェントはフォームに を送信するリクエストとしてそのフィールドにEnterを入力する必要があります。

この動作を無効にする最も簡単な方法は、非表示の入力フィールドを追加することです。

+0

これはテキストボックスのみに適用されますか? – Vipul

+0

ありがとうございます仕様書に明記されています。 – Vipul

+0

@隠された入力を追加することは私を助けてくれません。何か案が? –

0

これは、2つの入力フィールドの場合、フォーム入力イベントとしてEnterキーを処理する入力フィールドがブラウザに分からないためです。私はわからないだが、これはさらに、常にフィールドのonClick機能

関連する問題