Witam.

Od niedawna uzywam livevalidation (livevalidation.com) do weryfikowania danych w systemie while-you-type.

Do skryptu samej veryfikacji dodalem funkcje ktora ma robic .focs na inpucie ktore nie przeszlo weryfikacji.



W momencie kiedy stworzenie wiele form na jednej stronie html i kazda z osobna wsadze do zakladki (ktore wykonalem dzieki jquery UI - tabs) - nie wiem jak wykonac weryfikacje formularza ktory jest wlasnie otwarty.

Mozna co prawda recznie przypisac formule do kazdego formularza ale nie o to przeciez chodzi.

Przyklad live tutaj: http://webiq.co/livevalidation-ui-tabs/
Form 1 dziala, form 2 nie. Chyba ze skopiuje jeszcze raz cala funkcje i stworze nowa zmienna z uzyciem ID pierwszego inputa w drugiej zakladce.

Co chce osiagnac:
- aby walidowal tylko aktualny formularz i sam znajdowac pierwszego inputa w danej formie
- walidacje tylko aktualnie wlaczonego formularza
- onfocus na pierwszym nie wypelnionym input po walidacji
- po poprawnym wypelnieniu formularza pojawia sie alert - w tym momencie strona sie przeladowuje

Probowalem zrobic to wlasnymi silami ale moja znajomosc jquery/js jest zbyt slaba:

kod ktory wykonuje walidacje to:

  1. var automaticOnSubmit = field1.form.onsubmit;
  2. field1.form.onsubmit = function(){
  3. var valid = automaticOnSubmit();
  4. if(valid)alert('Form is Valid!');
  5. else{
  6. $(".LV_invalid_field:first").focus();
  7. }
  8. return false
  9. }
  10.  



A tutaj co ja wymyslilem - ale oczywiscie nie dziala.
  1. $(".ui-tabs-selected").ready(function() {
  2. var automaticOnSubmit = $(".ui-tabs-panel:not(.ui-tabs-hide) > form").submit;
  3. $(".ui-tabs-panel:not(.ui-tabs-hide) > form").submit = function(){
  4. var valid = automaticOnSubmit();
  5. if(valid)alert('Form is Valid!');
  6. else{
  7. $(".LV_invalid_field:first", document.forms).focus();
  8. }
  9. return false
  10. }
  11. });
  12.  



pozdrawiam!

Witam.

Wymyslilem!

Dzialajacy przyklad 1:http://webiq.co/livevalidation-ui-tabs/mul...rm-on-tabs.html

Dzialajacy przyklad 2: http://webiq.co/livevalidation-ui-tabs/mul...m-one-page.html

  1.  
  2. $("form").each(function (i) {
  3. var automaticOnSubmit = this.onsubmit;
  4. this.onsubmit = function(){
  5. var valid = automaticOnSubmit();
  6. if(valid)alert('Form is Valid!');
  7. else{
  8. $(".LV_invalid_field:first", document.getElementById(this.id)).focus();
  9. }
  10. return false
  11. }
  12. });
  13.  


pozdrowiam