2011-03-09 3 views
1

jQuery를 사용하여 내 텍스트 상자의 입력 내용을 매개 변수로 대체하려고합니다. 또한 입력을 백분율 인코딩해야합니다. 하지만 jquery.validator.format을 사용하려고하는데 작동하지 않습니다. 제안?jquery의 서식 URL

<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); 
     }); 
    }); 
+0

예 내가 퍼센트를 의미 encode – rbur0425

+0

대체 문자열 ('placename'과'username'을위한) 왔어? –

+0

그들은 텍스트 상자에서 왔습니다 # 위치 및 사용자 이름은 하드 코딩되었습니다. 보안상의 이유로 표시하지 않습니다 – rbur0425

답변

2

이 (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 데모 : http://jsfiddle.net/mattball/FFVCj/

0
$(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)); 
    }); 
}); 

나를 위해 좋은 작동