que tiene una función de búsqueda, y que le gustaría ver el término de búsqueda en la entrada de búsqueda.Extracto Palabras Url
mi URL es: search-1.html?keyword=XXXXXX
¿Cómo consigo esto, y mostrarlo en una entrada?
Gracias de antemano.
que tiene una función de búsqueda, y que le gustaría ver el término de búsqueda en la entrada de búsqueda.Extracto Palabras Url
mi URL es: search-1.html?keyword=XXXXXX
¿Cómo consigo esto, y mostrarlo en una entrada?
Gracias de antemano.
Si es sólo uno key=value
en la URL puede usar regex simple como esta:
var theValueYouWant = window.location.href.match(/keyword=(.+)/)[1]
Y establecer el valor de una entrada como esta
$('input').val(theValueYouWant)
Si desea analizar la cadena GET más a fondo, esta función debería hacerlo ...
solucióngets = {};
$.each(location.search.replace(/^\?/,'').split('&'),function(k,v){
bits = v.split('=');
gets[bits[0]] = bits[1];
});
Utilice esta: http://ajaxcssblog.com/jquery/url-read-get-variables/
Take suerte!
Ah, y entonces usted puede utilizar lo siguiente para mostrar su valor en un campo de entrada: solución
$("#inputId").val($.url.param("keyword"));
jQuery-menos:
<script type="text/javascript">
var $_GET=[],pairs=location.href.toString().substring(location.href.toString().indexOf("?")+1).split("&");for(key in pairs){pos=pairs[key].indexOf("=");$_GET[pairs[key].substring(0,pos)]=decodeURIComponent(pairs[key].substring(pos+1).replace(/\+/g," "))};
// Now just access with $_GET
// example...
keyword = $_GET["keyword"];
</script>
Regex:
var S = window.location.search; // "?keyword=..." etc.
var T = S.match(/^\?(?:[^\b]*&+)?keyword=([^&]*)/);
if (T)
T = T[1]
else
T = "no keywords found"
Si se dan varios valores para " palabra clave "(ex ?keyword=XXX&keyword=YYY
), la expresión regular solo encontrará el primero de estos valores (e.x. XXX
). Esta expresión regular funciona incluso si hay otras variables en la cadena de consulta.
¿Estás seguro de que esto funciona? tratar http://jsfiddle.net/pLHGh?hi=1&hi2=2 – Pinkie
@pinkie, esto sucede porque el guión en carreras jsFiddle en un 'iframe'. Si usa la URL 'iframe' de http://fiddle.jshell.net/pLHGh/show/light/?hi=1&hi2=2, funciona. –
@gaby sí, tienes razón. Buena solución. – Pinkie
nice and tiny plugin +1 – Pinkie
Sí, me encanta. Lo cargo en la mayoría de mis sitios web como un hábito debido a lo útil que ha sido tener acceso (rápido y fácil) a GET vars en JS. – Todd