2

EnterKeyPressをJSFのSubmitのように動作させる方法。InputBoxで動作します。ただし、inputSecretボックスは使用しません

4

6 に答える 6

3

私はこれまでこの問題を見たことがありません。この動作がブラウザ固有である可能性はほとんどありません。さまざまな種類のブラウザで試して、一方と他方を除外してください(IE6 / 7/8、FF、Safari、Chromeなど)。これは、Enterキーを誤って抑制する(貧弱な)Javascriptキーイベントリスナー(たとえば、入力された文字をチェックするJSパスワードバリデーター)が原因である可能性が高くなります。

それでも無駄な場合は、以下onkeypressh:form:に追加してください。

<h:form onkeypress="if (event.keyCode == 13) this.submit();">

ただし、textareasを考慮する必要があります。それらがある場合は、textareasに期待される要素にすべてのonkeypressイベントを自分でコピーする必要があります。h:inputXXX

于 2010-03-10T19:11:19.847 に答える
3

任意のフォームで送信する代わりに ENTER キーを押したい場合は、ここで行う必要があるのは、af:form タグに defaultcommand 属性を追加し、送信ボタンの ID を値として指定することです。このサンプル コード スニペットは次のとおりです。

<af:form id="f1" defaultCommand="cb1">
<af:outputText value="User Name" id="usename"/>
          <af:inputText value="#{BackingBean.userName}" id="uname" />
          <af:outputText value="Password" id="pword"/>
          <af:inputText value="#{BackingBean.password}" id="paword" secret="true"/>
          <af:commandButton text="Submit" action="#{BackingBean.method}" id="cb1" />
</af:form> 
于 2012-05-30T11:46:36.360 に答える
0

ComputerPilotの回答から、入力要素が1つしかない場合、親フォームを送信できないIEのバグであることがわかりました。この問題を克服するために、属性style="display:none"を持つ入力ボックスをもう1つ追加しましたが、正常に機能しました。

于 2011-01-27T10:13:06.807 に答える
0

これで私の頭に浮かぶ古い仕様があります。入力フィールドが1 つしかないフォームの場合、 enter-key での送信の動作は Internet Explorer の一部のバージョンでは機能しません。最も簡単な解決策は、複数の入力フィールドがあることを確認することです。

この問題の他の理由は次のとおりです...

  • タイプ送信の入力がない
  • 送信タイプの入力があるが、ページに表示されていない (非表示またはページ外に配置されている)

この動作は、このブラウザに固有のものです。

MS バグ レポート: connect.microsoft.com: 送信ボタンの値がフォーム送信で投稿されない

于 2010-03-12T16:57:42.420 に答える
0

追加のinputBoxを配置し、javascriptを使用して非表示にすることで機能させました。他に何か提案があれば教えてください 正しい方向に向けてくれた baluC に感謝します ジェリー

于 2010-03-12T16:43:15.513 に答える
0

jsf 2 でテスト済み。

<h:commandButton id="hidden" style="visibility: hidden;" action="#{mybean.myaction()}" />

あなたの形で

于 2012-10-04T10:20:58.763 に答える