如何使用javascript填充输入字段来解码来自网址的美元符号?

时间:2014-08-01 19:12:20

标签: jquery

如果我不解释好,请在评论中告诉我。

正如问题标题所说的那样,请告诉我如何解码美元符号($),因为当从网页提交时它会转到url中的%24,就像您可以使用此链接一样。

http://mubisoft.fh2web.com/Kayak/submit.html

尝试提交数据,它将从url获取数据,并尝试再次填充输入字段,但当它尝试从url获取数据时,需要使用%24而不是$ sign。

这里是我在其中使用的javascript代码。

var url = window.location.href;
    var input = $( "#one" );
    var input2 = $( "#two" );
    if(url.indexOf("?") >= 0){
var params = url.split('?');
var params1 = params[1].split('&');
var a  = params1[0].split('=');
var r = a[1];
var a  = params1[1].split('=');
    input2.val(a[1]);
    input.val(r); // here are populating data getting from url
}
    $( "#one" ).blur(function() {
        if(input.val().substring(0,1) == '$'){
            return false;
        }else{
            input.val( "$ "+input.val() )
        }
    });

2 个答案:

答案 0 :(得分:1)

通过此函数运行编码字符串:

decodeURIComponent( encodedString );

从变量字符串和解码中获取变量的完整代码:

//this code executes immediately and pulls all the variables
var QueryString = function () {
  var query_string = {};
  var query = window.location.search.substring(1);
  var vars = query.split("&");
  for (var i=0;i<vars.length;i++) {
    var pair = vars[i].split("=");
    pair[1] = decodeURIComponent( pair[1] ); //encoded characters are decoded here
    if (typeof query_string[pair[0]] === "undefined") {
      query_string[pair[0]] = pair[1];
    }
  } 
    return query_string;
} ();

//then you can access the querystring variables like this
QueryString.varName

答案 1 :(得分:0)

鉴于decodeURI没有解码美元符号($),您应该使用.replace()

var myURL = 'www.somesite.com/somepage.php?price=%2420';

myURL = myURL.replace(/%24/g,'$'); // www.somesite.com/somepage.php?price=$20