2010-09-24 20 views
11

Duplicar posible:
get querystring with jQueryjQuery cadena de consulta

¿Cómo puedo obtener el valor de una cadena de consulta en un cuadro de texto usando jQuery?

permite decir la url es http://intranet/page1.php?q=hello

Me gustaría que el "hola" para estar en el cuadro de texto.

+0

Ver esta pregunta: http://stackoverflow.com/q/901115/140185 y éste: http://stackoverflow.com/q/585852/140185 –

+0

Si eres pasando variables GET, ¿qué lenguaje de script del lado del servidor estás usando? Si tiene un script del lado del servidor disponible, entonces probablemente sea más fácil usar PHP (o lo que sea) para llenar el 'textarea' que js/jQuery. –

Respuesta

29

En mi programming archive tengo 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; 
} 

Usted puede usar eso para obtener el valor de la cadena de consulta y pu t en un cuadro de texto:

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

Use la función que aparece en 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, " ")); 
} 

Y luego simplemente hacer algo como esto:

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