JSF onclick return false or true

Odpowiedz Nowy wątek
2012-10-20 00:01
0

Cześć,

Jak w temacie, poniżej fragment kodu który mam w pliku *.jsp.

1) onclick wywołuje metodę w java Script która pobiera dane z formatki i za pomocą DWR wsadza te pobrane dane do plików Javy
2) action za pomocą JSF wywołuje metodę Javy która wcześniej pobrane dane w punkcie 1) zapisuje do bazy

Cały formularz waliduje po stronie Javy i wyświetlam stosowny komunikat, ale jest kilka pól które chciałbym zwalidować po stronie java Script, i gdy użytkownik kliknie button zapisz, w pierwszej kolejności zostaną zwalidowane te dane i jeśli będą ok to następnie wykona się metoda metoda_java_script(); a później nazwa_klasy_Main_Bean.metoda. Natomiast gdy walidacja nie odbędzie się pomyślnie customer powinien zobaczyć alert java script i strona nie powinna się przeładować(ważne!!)

            <t:commandLink action="#{nazwa_klasy_Main_Bean.metoda}"
                           onclick="metoda_java_script();">
                <t:outputText value="<span>#{msgc['button.confirm']}</span>" escape="false"/>
            </t:commandLink>

Zna ktoś rozwiązanie mojego problemu ??
z góry dzięki za odpowiedź :)

Pozostało 580 znaków

2012-10-20 14:24
0

Ale czemu chcesz to walidować za pomocą JS a nie walidatora z JSF?


Masz problem? Pisz na forum, nie do mnie. Nie masz problemów? Kup komputer...

Pozostało 580 znaków

2012-10-20 17:14
0

ponieważ to nie jest zwykły formularz gdzie wszystko znajduje się na jednej stronie, posiada on zakładki, założenie jest takie że w razie błędnych danych powinien pojawić się alert w JS, ale akcja sprawdzenia powinna nastąpić po kliknięciu buttona zatwierdź, obecnie znajdują się już tam podpięte dwie akcje onclick oraz action, ważne w tym wszystkim jest to gdy user poda złe dane w tych polach a następnie wciśnie wciśnie button którego kod jest powyżej, powinien pojawić się alert i strona nie może się przeładować oraz nie wykonują się funkcje i w zdarzeniach onclick i action, aby strona się nie przeładowała można to zrobić następująco:

onclick="metoda_java_script(); return false;">

ale ja chcę aby gdy wszystko jest ok strona się przeładowywała a gdy nie jest ok to nie...

rozumiecie o co chodzi ?

Pozostało 580 znaków

2012-10-21 21:15
0

Może w ten sposób, czy zna ktoś z was sposób aby onclick w zależności od jakiegoś warunku zwracał true lub false ?

                    <t:commandLink action="#{nazwa_klasy_Main_Bean.metoda}"
                                               onclick="metoda_java_script(); **return false or true; **">
                            <t:outputText value="<span>#{msgc['button.confirm']}</span>" escape="false"/>
                    </t:commandLink>
edytowany 2x, ostatnio: eagl12, 2012-10-21 21:16

Pozostało 580 znaków

2012-10-24 00:07

rozwiązałem problem, może się komuś przyda:

        <h:commandLink action="#{nazwa_klasy_Main_Bean.metoda}"
            onclick="if(!validate()) {alert('error'); return false} else{metoda_java_script();}">
            <t:outputText value="<span>#{msgc['button.confirm']}</span>" escape="false"/>
        </h:commandLink>

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0