2010-09-24 5 views
11

Possible en double:
get querystring with jQueryjQuery querystring

Comment puis-je obtenir la valeur d'un querystring dans une zone de texte en utilisant jQuery?

Disons que l'URL est http://intranet/page1.php?q=hello

Je voudrais que le « bonjour » pour être dans la zone de texte.

+0

Voir cette question: http://stackoverflow.com/q/901115/140185 et celui-ci: http://stackoverflow.com/q/585852/140185 –

+0

Si vous êtes en passant des variables GET, quel langage de script côté serveur utilisez-vous? Si vous avez un script côté serveur disponible, il serait probablement plus facile d'utiliser PHP (ou autre chose) pour remplir le 'textarea' que js/jQuery. –

Répondre

29

Dans mon programming archive je this function:

function querystring(key) { 
    var re=new RegExp('(?:\\?|&)'+key+'=(.*?)(?=&|$)','gi'); 
    var r=[], m; 
    while ((m=re.exec(document.location.search)) != null) r.push(m[1]); 
    return r; 
} 

Vous peut utiliser cela pour obtenir la chaîne de requête valeur et pu t dans une zone de texte:

$('#SomeTextbox').val(querystring('q')); 
7

Utilisez la fonction figurant dans the answer-this question:

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

Et puis juste faire quelque chose comme ceci:

var qParam = getParameterByName('q'); 
$('#mytextbox').val(qParam);