2016-08-01 21 views
0
<rich:popupPanel modal="true"> 
    <h:form 
     id="myModal" 
     onkeypress="if (event.keyCode == 13) { 
       alert('ok10'); 
       $(&quot;[name$='modalConfirmButton']&quot;).click(); 
       if (typeof evt.stopPropagation != 'undefined') { 
        evt.stopPropagation(); 
       } else { 
        evt.cancelBubble = true; 
       } 
       return true; 
      }" 

       <a4j:commandButton 
        value="Cancel" 
        immediate="true" 
        onclick="#{rich:component(cc.attrs.idModal)}.hide(); return false;" /> 

       <a4j:commandButton 
        id="modalConfirmButton" 
        value="Confirm" 
        action="#{mb.confirm}" /> 

Wenn ich mit der Maus auf die Schaltfläche "Bestätigen" klicke, wird das Formular validiert und bei Fehlern nicht geschlossen. Aber, wenn ich Enter drücke, wird es nicht validieren und wird es schließen. Wenn ich den "Abbrechen" -Button nach dem "Bestätigen" -Button setze, wird es validieren, die Fehler anzeigen, aber immer noch schließen.Wie wird gesendet, ohne das Rich-Popup-Fenster zu schließen?

Haben Sie eine Idee, wie Sie die 'Enter'-Taste funktionieren lassen, genau wie der Mausklick für' Bestätigen '?

Antwort

0

Sie sollten gegen submit Formularereignis validieren, so ist es nicht abhängig von Mausklick oder Enter-Taste drücken. Grundsätzlich ist das gewünschte Verhalten nur mit der Schaltfläche verknüpft. Wenn Sie das für Ihr Formular auf onsubmit verschieben, sollte es funktionieren.

+0

selben Ergebnis hier leider –