2013-10-28 3 views
0

При нажатии кнопки; , если все текстовые поля не пусты на странице, он будет на следующей странице. Я сделал контроль, он работает. Но как я могу ориентироваться на другой странице с jquery?Ориентация страницы с помощью JQuery?

$(document).on("pageinit", "#registerPage1", function() { 
    $(".nextBtn").click(function() { 
     if ($(".txt").val().lenght != 0) { 
      // i want to write codes for orientation registerPage1 to registerPage2 in here 
     } 

     $(".txt").each(function() { 
      if ($(this).val().length == 0 && $(this).next().attr('class') != 'nullInputMsg') { 
       ($(this)).after('<div class="nullInputMsg">this field is required!</div>'); 
      } 
      else if ($(this).val().length != 0 && $(this).next().attr('class') == 'nullInputMsg') 
       $(this).next().remove(); 
     }); 
    }); 

}); 

ответ

0

Давайте предположит, что у вас есть форма с именем myform жильем всех текстовых полей. Также предположим, что кнопка с классом nextBtn находится внутри этой формы и запускает поведение отправки для формы.

Как и вы, проверка формы на click событие кнопки отправки в порядке. Однако вам нужно перейти на следующую страницу, только если все проверки пройдут, поэтому вы, вероятно, должны покинуть перенаправляющую часть до конца, и к этому времени вы определили результаты проверок проверки. После этого, все, что осталось сделать, это

  1. Установить атрибут действия «myform`, чтобы указать на нужную страницу. (Это redirectes этой страницы)
  2. Возврат ложно, если валидация не получится, или правда если они переходят из функции, обрабатывающей событие click.

Итак, ваш код будет выглядеть примерно так

$(document).on("pageinit", "#registerPage1", function() { 
      $(".nextBtn").click(function() { 
       var validationPass = true; 

       $(".txt").each(function() { 
        if ($(this).val().length == 0 && $(this).next().attr('class') != 'nullInputMsg') { 
         ($(this)).after('<div class="nullInputMsg">this field is required!</div>'); 
         validationPass = false; 
        } 
        else if ($(this).val().length != 0 && $(this).next().attr('class') == 'nullInputMsg') 
         $(this).next().remove(); 
       }); 

       return validationPass; 
      }); 

     }); 

Ваш HTML должен, вероятно, выглядеть как

 .... 
    .... 
     <form id="myform" name="myform" action="RedirectToPage.php" method="get"> 
     .... 
     //form content housing the textboxes and button with class .nextBtn 
     .... 
     </form> 
    .... 
    .... 
+0

Да, я сделал с подобными мыслями : $ x = "true"; $ (". RequiredText"). Each (function (i) { if (! $ (This) .val(). Length) $ x = "false"; }) if ($ x == "true") // команды }); }); }); – ebruszl

0

Я полагаю, что по ориентации вы имеете в виду перенаправление. Вам не нужно jQuery для перенаправления. Простой javascript выполнит эту работу.

// works like the user clicks on a link 
window.location.href = "http://google.com"; 

// works like the user receives an HTTP redirect 
window.location.replace("http://google.com"); 
+0

Спасибо, я попытался это $ (windows.location) .attr ('идентификатор' , 'registerPage2'); но я не работал. это работает window.location.href = # registerPage2 "; я не могу записать это с помощью jquery? – ebruszl

+0

Возможно, вы могли бы, но почему бы вам это сделать? Это чистое решение :) – sebbo

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