2011-04-10 3 views
0

Я столкнулся с IE и отказался от него, не позволяя мне нажать клавишу ввода, чтобы отправить форму. Я нашел частичное решение (http://www.thefutureoftheweb.com/blog/submit-a-form-in-ie-with-enter), но мое диалоговое окно закрывается. Мои проверки выполняются и отображаются сообщения об ошибках. Как мне открыть диалог?IE Primefaces Enter Key Submit Обходное решение

<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)" /> 

Я использую следующие сохранить диалоговые ошибки и отобразить проверки. Вам нужно будет переместить ваши входы в панель Grid, чтобы она могла быть нацелена на атрибут обновления.

0

Простой тег разрешит его.

OnComplete = "если (args.validationFailed) {} ​​еще {Professor.show(), Student.hide();}"

вы предполагаете применить это на Профессор виджет вар

Смежные вопросы