【问题标题】:Why doesn't this call to getQuery work? And what's the fix?为什么这个对 getQuery 的调用不起作用?解决方法是什么?
【发布时间】:2011-07-29 16:22:09
【问题描述】:

/search.aspx?Search=test

function getQuery(name) {
    var match = RegExp('[?&]' + name + '=([^&]*)').exec(window.location.search);
    return match && decodeURIComponent(match[1].replace(/\+/g, ' '));
};


if (getQuery('SearchType') == '') {
   $("#txtSearch").val(getQuery('Search'));
};

如果我省略 if 语句而只设置文本框的值,它就可以正常工作,所以我显然知道我的 getQuery 函数正在工作。这显然与 SearchType 不是 '' 的事实有关,它什么都不是。我尝试了 "if (getQuery('SearchType')) 但这也没有用。

必须是一个简单的答案...我的问题总是存在的:)

【问题讨论】:

  • 不要认为到 localhost 的链接会帮助我们调试。
  • 这样你就可以看到查询字符串...

标签: jquery query-string


【解决方案1】:

这是因为您正在与一个空字符串进行比较,但 getQuery 返回的是 null。将您的比较改为:

if (getQuery('SearchType') == null) {
   $("#txtSearch").val(getQuery('Search'));
};

【讨论】:

  • 有效。我发誓我试过这个。一定是做了一个 = 什么的。谢谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2010-12-13
  • 2014-05-26
  • 2023-01-18
  • 2015-02-13
  • 1970-01-01
  • 2015-10-05
  • 2015-07-08
相关资源
最近更新 更多