2013-06-08 2 views
1

Je souhaite transmettre 4 noms en utilisant jQuery d'une page à une autre en utilisant jQuery dans l'application winRT. fait en utilisant un paramètre. Comment passer plusieurs paramètres et récupérer en 2ème page?Passer et récupérer plusieurs paramètres dans jquery d'une page à une autre page

Codage pour un paramètre.

default.html:

<html> 
<head> 
<script> 
     $(document).ready(function() { 
     $(function() { 
      $('#navigate12').click(function() { 
       var te = $("#text1").val(); 
       var tea = $("#text2").val(); 
       window.location.href = "/page.html?cal=" + te; 
        }); 
     });}); 
</script> 
</head> 
<body> 
<button id="navigate12">navigate</button> 
<input id="text1" type="text"/> 
<input id="text2" type="text"/> 
<input id="text3" type="text"/> 
<input id="text4" type="text"/> 
</body> 
</html> 

page.html 
<html> 
<head> 
     <script src="/js/jquery-1.9.1.js"></script> 
     <script> 
       $(document).ready(function() {     
       function qs() { 
       var qsparam = new Array(); 
       var query = window.location.search.substring(1); 
       var parms = query.split('&'); 
       for (var i = 0; i < parms.length; i++) { 
        var pos = parms[i].indexOf('='); 
        if (pos > 0) 
        { 
         var key = parms[i].substring(0, pos); 
         var val = parms[i].substring(pos + 1); 
         qsparam[key] = val; 
        } 

       } 
       var msg = new Windows.UI.Popups.MessageDialog(val); 
       msg.showAsync(); 
      } 
       var splitstr = qs(); 
        }); 
</script> 
<title> 
</title> 
</head> 
<body> 

</body> 
</html> 
+0

gardez à l'esprit lorsque vous n'utilisez pas le cadre de navigation et à la place window.location vous perdez l'état de navigation et vous n'obtenez pas de transitions entre pa ges.Le cadre de navigation stocke également vos valeurs transmises entre les pages, quelle que soit la raison pour laquelle vous ne l'utilisez pas? –

Répondre

3

fait en utilisant cette technique dans default.html

$(function() { 
       $('#navigate12').click(function() { 
       var te = $("#text1").val(); 
       var text2 = $("#text2").val(); 
       var text3 = $("#text3").val(); 
       var text4 = $("#text4").val(); 
       window.location.href = "/page.html?cal=" + te + "&text2=" + text2 + 
       "&text3=" + text3 + "&text4=" + text4; <-- this line has changes to include multiple parameters rest is same as in the question 

et page.html

<script> 
       $(document).ready(function() {     
       function qs() { 
       var qsparam = new Array(10); 
       var query = window.location.search.substring(1); 
       var parms = query.split('&'); 
       for (var i = 0; i < parms.length; i++) { 
       var pos = parms[i].indexOf('='); 
       if (pos > 0) 
       { 
         var key = parms[i].substring(0, pos); 
         var val = parms[i].substring(pos + 1); 
         qsparam[i] = val;  
       }       
                 } 
       text1.value = qsparam[0]; 
       text2.value = qsparam[1]; 
       text3.value = qsparam[2]; 
       text4.value = qsparam[3]; 



       } 
       var splitstr = qs(); 



        }); 
    </script> 
    <title></title> 
</head> 
<body> 
    <input id="text1" type="text" /> 
    <input id="text2" type="text" /> 
    <input id="text3" type="text" /> 
    <input id="text4" type="text" /> 
</body> 
</html> 

nous appelons la fonction qs() en utilisant

var splitstr = qs();

il divise les paramètres et de voir la valeur des différentes variables u peut utiliser text1.value = parms en cas de doute u peut demander :-)

4

Vous pouvez passer les paramètres GET à une page en utilisant "param = foo?" Pour le premier paramètre. Des paramètres supplémentaires sont inclus avec "&" au lieu de "?". Puisque vous passez des paramètres GET, vous pouvez les mettre tous dans l'URL et les lire dans votre page cible. Vous pouvez également utiliser les paramètres POST à ​​la place.

est ici une référence sur GET vs paramètres PUT:

http://www.w3schools.com/tags/ref_httpmethods.asp

Si vous passez tous les paramètres que GET, vous pouvez étendre ce bit:

var te = $("#text1").val(); 
var tea = $("#text2").val(); 
window.location.href = "/page.html?cal=" + te; 

à quelque chose comme ceci:

var te = $("#text1").val(); 
var text2 = $("#text2").val(); 
var text3 = $("#text3").val(); 
var text4 = $("#text4").val(); 
window.location.href = "/page.html?cal=" + te + "&text2=" + text2 + "&text3=" + text3 + "&text4=" + text4; 

Comme pour l'obtention des paramètres dans le o page: Je suppose que vous voulez obtenir les paramètres GET dans l'autre page via jQuery, puisque votre page cible est du HTML pur. Si tel est le cas, vérifiez this question

+0

pouvez-vous s'il vous plaît montrer comment récupérer dans la page suivante je suis confronté problème .. –

0

Voici une réponse détaillée sur la façon dont les différentes méthodes de la façon de récupérer les paramètres de la chaîne de requête avec ou sans jQuery:

How can I get query string values in JavaScript?

Par exemple:

function getParameterByName(name) { 
    name = name.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]"); 
    var regex = new RegExp("[\\?&]" + name + "=([^&#]*)"), 
     results = regex.exec(location.search); 
    return results == null ? "" : decodeURIComponent(results[1].replace(/\+/g, " ")); 
} 
0

envoyer valeur comme ci-dessous

window.location.href = "testlocation.aspx?Id=" + tickerCode.label + "&Id2=" + financialYear.label; 

et recevoir comme ci-dessous ..

function getActualYear() { 
    var Id = getParameterByName('Id'); 
    var Id2 = getParameterByName('Id2'); 
    console.log('Id=' + Id); 
    console.log('Id2=' + Id2); 
} 

function getParameterByName(id) { 
    name = name.replace(/[\[]/, "\\[").replace(/[\]]/, "\\]"); 
    var regex = new RegExp("[\\?&]" + name + "=([^&#]*)"), 
    results = regex.exec(location.search); 
    return results == null ? "" : decodeURIComponent(results[1].replace(/\+/g, " ")); 
} 
+0

ici j'ai mentionné le paramètre envoyer et recevoir pour window.location.href mehod ... –

+0

remplacer la fonction entrée param de l'id à nommer. vous trompez les gens –

Questions connexes