-1

我有一个网址如下

https://example.com/#registration-update?gigya=true&socialProvider=yahoo&gigyaUID=_guid_59DUvJro84GQM2B_o-SjcoWyforCmmvGQYVdMX1yhtlYImE_62mKDUWiUtPo0cxp&lastName=Jackson&firstName=peter&email=peter2015@ymail.com&zip=

我从 url 中获取值并在表单提交时填充表单我应该清除值并将 url 设置为https://example.com/

如何使用jquery做到这一点请帮助

要获取我使用 jquery 的值,如下所示。

var username = getUrlVars()["firstName"];
    var lastname = getUrlVars()["lastName"];
    var email = getUrlVars()["email"];
    var zipcode = getUrlVars()["zip"];

    $('#regi_firstname').val(username); 
    $('#regi_lastname').val(lastname);  
    $('#regi_user_email').val(email);   
    $('#regi_confirmemail').val(email); 
    $('#zip').val(zipcode);

 function getUrlVars() {
        var vars = [], hash;
        var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
        for (var i = 0; i < hashes.length; i++) {
            hash = hashes[i].split('=');
            vars.push(hash[0]);
            vars[hash[0]] = hash[1];
        }
        return vars;
    }
4

4 回答 4

1

我认为您可以使用 substring(0,19) 来获取前 19 个字符,或者使用 var newurl = url.split(".com/) 然后获取 newurl[0] 应该只有第一部分

于 2013-09-06T16:09:51.543 回答
0

您可能对purlJS 实用程序感兴趣,用于解析 URL 并从中提取信息。是 Github 存储库,您可以在其中找到它及其文档。是下载链接(v2.3.1)。转换您的代码以使用该库:

$('#regi_firstname').val($.url("firstName")); 
$('#regi_lastname').val($.url("lastName"));  
$('#regi_user_email').val($.url("email"));   
$('#regi_confirmemail').val($.url("email")); 
$('#zip').val($.url("zip"));

要获取当前位置的基本 url,请使用:

$.url().attr('protocol') + $.url().attr('host')
于 2013-09-06T16:30:37.763 回答
0

你可以这样做,但这不是一个非常可靠的解决方案..

var url = 'https://example.com/#registration-update?gigya=true&socialProvider=yahoo&gigyaUID=_guid_59DUvJro84GQM2B_o-SjcoWyforCmmvGQYVdMX1yhtlYImE_62mKDUWiUtPo0cxp&lastName=Jackson&firstName=peter&email=peter2015@ymail.com&zip=';

var urlCut = url.split('/').slice(3).join('/');
var urlBase = url.replace(urlCut, "");
alert(urlBase);

jsFiddle

于 2013-09-06T16:07:33.247 回答
0

您实际上不需要 jQuery,而是使用良好的旧 javascript 正则表达式来查找匹配的 URL。即使域名更改,以下解决方案也将起作用;)。

例如:

var url = 'https://example.com/#registration-update?gigya=true&socialProvider=yahoo&gigyaUID=_guid_59DUvJro84GQM2B_o-SjcoWyforCmmvGQYVdMX1yhtlYImE_62mKDUWiUtPo0cxp&lastName=Jackson&firstName=peter&email=peter2015@ymail.com&zip=';

var matches = url.match("htt(p|ps):(\/\/|\/\/www.)[a-z]+.[a-z]{3}");
alert(matches[0]);
于 2013-09-06T16:19:09.650 回答