【问题标题】:populate input field from url variable - using either javascript or jquery从 url 变量填充输入字段 - 使用 javascript 或 jquery
【发布时间】:2013-04-17 18:39:38
【问题描述】:

我有一个网址

http://www.example.com/state=survey&action=display&survey=39&zone=surveys&currency=Denmark

用户将登陆具有上述网址的新页面。此页面将包含一个表格。有一个 ID 为“currencyrequired”的输入 - 我希望此输入自动从 url 中提取货币变量(在本例中为丹麦)。

<input type="text" id="currencyrequired" name="currencyrequired" size="40" maxlength="20" value="" class="input-pos-int">

网址的货币部分可能会发生变化,因为这取决于他们选择的国家/地区,因此您最终可能会得到 - http://www.example.com/state=survey&action=display&survey=39&zone=surveys&currency=Norway

理想情况下,我想要列出所有货币(总共 8 个),脚本将检查 url 中列出的国家/地区,并使用输出填充所需货币的输入字段

【问题讨论】:

  • 我需要解决这个问题昨天??
  • @TheVal - 这个项目本周到期,我需要尽快推出这个功能,因此很紧迫。我是 javascript/jquery 的相对新手,因此感谢您提供任何帮助

标签: javascript jquery url input


【解决方案1】:

试试这个:

$("#currencyrequired").val(getParameterByName('currency'));

function getParameterByName(name)
{
  name = name.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]");
  var regexS = "[\\?&]" + name + "=([^&#]*)";
  var regex = new RegExp(regexS);
  var results = regex.exec(window.location.search);
  if(results == null)
    return "";
  else
    return decodeURIComponent(results[1].replace(/\+/g, " "));
}

【讨论】:

  • 我对其进行了测试,它适用于所有浏览器。此外,您的输入元素必须以 /> 结尾
【解决方案2】:

您可以使用location.search 返回查询字符串并执行以下操作:

var url = location.search;
var country = url.substring(url.indexOf('currency=')+9, url.length);

$("#input").val(country);

http://jsfiddle.net/ckJ5S/

【讨论】:

  • 只有当 currency=Denmark 是 URL 中的最后一个信息时才有效。
  • 这在 jsfiddle 中有效,但是当我将代码放入我的页面时,它什么也没做。
  • @R4N_S_S - 你的页面上定义了 jquery 吗?尝试添加警报。 alert(country); - 警报有效吗?
  • 网址的货币部分可能会发生变化,因为这取决于他们选择的国家/地区,因此您最终可能会得到 - example.com/…
  • @Darren - 是的 jquery 出现在页面上。警报有效 - 在此先感谢
猜你喜欢
  • 2016-04-24
  • 1970-01-01
  • 1970-01-01
  • 2016-03-25
  • 1970-01-01
  • 2012-12-24
  • 2017-10-30
  • 1970-01-01
  • 2022-01-26
相关资源
最近更新 更多