2010-09-24 11 views
11

Eventuali duplicati:
get querystring with jQueryjQuery querystring

Come faccio ad avere il valore di un querystring in una casella di testo utilizzando jQuery?

Diciamo che l'url è http://intranet/page1.php?q=hello

Vorrei che la "ciao" di essere nella casella di testo.

+0

Vai a questa domanda: http://stackoverflow.com/q/901115/140185 e questo: http://stackoverflow.com/q/585852/140185 –

+0

Se siete passando le variabili GET, quale linguaggio di script sul lato server stai usando? Se disponi di uno script sul lato server disponibile, probabilmente sarebbe più facile usare PHP (o qualsiasi altra cosa) per popolare la 'textarea' di js/jQuery. –

risposta

29

Nel mio programming archive ho 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; 
} 

È può usarlo per ottenere il valore della stringa di query e pu t in una casella di testo:

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

Utilizzare la funzione elencata in 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, " ")); 
} 

E poi basta fare qualcosa del genere:

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