Jquery-Mobile: как позвонить на другую страницу, используя идентификатор - PullRequest
0 голосов
/ 13 декабря 2011

У меня есть 2 страницы с разными идентификаторами на странице контейнера.Первая страница имеет одну кнопку, если вы нажмете на нее, то она вызовет одну функцию сценария Java.Я хочу реализовать следующее.В функции сценария java условие истинно, тогда только он будет перенаправлен на следующую страницу, используя идентификатор.В противном случае не перенаправляйте. Как это сделать, пожалуйста, кто-нибудь может мне помочь.это понятно?

КОД

< !DOCTYPE html> 

< html> 

< head> 

    < meta charset="utf-8"> 
    < meta name="viewport" content="width=device-width, initial-scale=1"> 
    < title>Single page template</title>

      < link rel="stylesheet" href="http://code.jquery.com/mobile/1.0/jquery.mobile-1.0.min.css" />
     < script type="text/javascript" src="http://code.jquery.com/jquery-1.6.4.min.js"></script>
     < script type="text/javascript" src="http://code.jquery.com/mobile/1.0/jquery.mobile-1.0.min.js"></script>

< /head> 

< body>

< !-- BMR Screen page -->

  < div data-role="page" id="BMR_screen">

  < div data-role="header" data-theme="e" id="hdrBMRScreen">

  < h1> BMR Screen< /h1>
  < /div>

  < div data-role="content" id="contentBMRScreen"> 

        < div data-role="fieldcontain">  

             < label for="BMR_age">Age(in years):</label> 

             < input type="text" id="BMR_age" /> 

        < /div> 

        < a href="#BMR_Result" onclick="BMR_Cal()"  data-role="button">submit</a> 

  < /div>

 < /div>

 < !-- End BMR Screen -->

   < div data-role="page" id="BMR_Result">

       < div data-role="header" data-theme="b" >

            < a data-role="button" data-rel="back" data-icon="back">back</a>

            <h1>BMR Result</h1> 

       < /div>

        < div data-role="content">      

          < p id="W_Range">Weight Range:</p>   

        < /div>
    < /div>

  < script type="text/javascript"> 

  var agevar;


  $(document).ready(function () {   
    // Initialize variables 
    ageVar = $('#BMR_age');     
  });

  function BMR_Cal()
  {    
    if(ageVar.val() > 0)
    {       
        // then only it will redirect to the next page i.e, BMR_Result          
    }

  }
  < /script>
  < /body> 
< /html>

Ответы [ 2 ]

1 голос
/ 13 декабря 2011

В jQuery mobile вы не должны использовать готовое событие.Вместо этого используйте событие mobileinit, так как код инициализации для мобильного jQuery запускается до того, как DOM будет готов. См.

Также рассмотрите возможность использования метода $. Mobile.changePage для изменения страницы в javascript, так как это безопаснее и более настраиваемо.

0 голосов
/ 13 декабря 2011

Хорошо, проблема в том, что вы присваиваете переменную при загрузке страницы (до того, как пользователь что-то ввел).

позволяет вставлять все это в документ готов.

 $(document).ready(function () {
// Initialize the variable by declaring it
var ageVar ;

function BMR_Cal() {
//then tie it to the input element AFTER the user has inputted .
ageVar = $('#BMR_age');
if(ageVar.val() > 0) {

document.location.href="yourpagename#BMR_Result";
}
});
...