Я пытаюсь заменить параметры в моем URL-адресе, используя jquery, с моим вводом в текстовое поле.Кроме того, мне нужно процентное кодирование ввода.Я пытаюсь использовать jquery.validator.format, однако это не работает.Предложения?
<script src="http://code.jquery.com/jquery-latest.js"></script> <script src="http://jqueryjs.googlecode.com/svn/trunk/plugins/validate/jquery.validate.js"></script> <script language="javascript" type="text/javascript"> $(document).ready(function () { $("button").click(function () { var str = "http://api.geonames.org/postalCodeSearchJSON?placename={0}&maxRows=10&username=<my username>"; alert(str); var loc = $("#location").val(); alert(loc); str = jQuery.validator.format(str, loc); alert(str); }); });
Это должно работать нормально, включая процентное кодирование (через encodeURIComponent()):
encodeURIComponent()
$("button").click(function () { var str = "http://api.geonames.org/postalCodeSearchJSON?placename={0}&maxRows=10&username=redacted"; var loc = encodeURIComponent($("#location").val()); str = jQuery.validator.format(str, loc); alert(str); });
jsFiddle demo: http://jsfiddle.net/mattball/FFVCj/
$(document).ready(function () { $("button").click(function () { // var str = "http://api.geonames.org/postalCodeSearchJSON?placename={0}&maxRows=10&username=rbur0425"; // alert(str); var loc = $("#location").val(); // alert(loc); // var loc2 = encodeURIComponent(loc); var url = "http://api.geonames.org/postalCodeSearchJSON?placename=" + loc + "&maxRows=10&username=rbur0425"; // alert(encodeURI(url)); }); });
хорошо работает для меня