2011-04-10 18 views
0

IEを実行して問題が発生しました。私はEnterキーを押してフォームを送信できません。私は部分的な解決策を見つけましたが(http://www.thefutureoftheweb.com/blog/submit-a-form-in-ie-with-enter)、私のダイアログウィンドウは閉じます。私の検証が実行され、エラーメッセージが表示されます。ダイアログを開いたままにするにはどうすればよいですか?私は開いているダイアログを維持し、検証エラーを表示するには、次を使用しIE Primefaces Enterキー送信回避策

<p:dialog id="sgupdlg" header="#{bundle['signUp.HEADER']}" widgetVar="signUpDlg" 
     modal="true" styleClass="dialog dialog1" draggable="false" 
     resizable="false" showEffect="fade" hideEffect="fade" position="top"> 
     <h:form id="signUpFrm" binding="#{signUpDetail.signUpFrm}"> 
     <p:growl id="growl" showDetail="true" showSummary="false" life="3000" errorIcon="/images/Validation-Error.png" infoIcon="/images/Validation-Success.png"/> 

     <p:inputText value="#{signUpDetailBean.firstName}" name="nameInput" required="true" requiredMessage="First Name is Required"/> 
     <p:inputText value="#{signUpDetailBean.lastName}" required="true" requiredMessage="Last Name is Required"/> 

     <p:commandButton styleClass="form-btn2" 
         value="#{bundle['signUp.button.LABEL']}" actionListener="#{signUpDetail.signUp}" onclick="trackingSignUpOverlaySave()" 
         oncomplete="handleSignUpRequest(xhr, status, args)" update="growl"/> 
     <p:commandButton type="reset" styleClass="close" /> 

     </h:form> 
    </p:dialog> 
    <script type="text/javascript"> 


     $ = jQuery 
     $(function(){ 
      $('input').keydown(function(e){ 
       if (e.keyCode == 13) { 
        $('#signUpFrm').submit(); 
        return false; 
       } 
      }); 
     }); 


    </script> 

答えて

0
function closeWhenValidationSuccesful(dialog, xhr, status, args) { 
    if (!args.validationFailed) { 
     dialog.hide(); 
    } 
} 

<p:commandButton value="Save" action="doSomething" update=":formName:panelContainingValidatedElements" 
    oncomplete="closeWhenValidationSuccesful(dialogWidgetVar, xhr, status, args)" /> 

。 update属性でターゲットにできるように、入力をpanelGridに移動する必要があります。

0

簡単なタグで解決できます。

onCompleteの=の "if(args.validationFailed){}他{Professor.show()、Student.hide();}"

あなたは教授ウィジェットVAR

にこれを適用すると仮定