我必须为一个大学项目编写一个网络应用程序。 它类似于使用 JSP、Javascript、Java、JQuery 和 SQL 的日历。 所以我已经走了很远,但是我的查询字符串有问题。 我正在尝试将单击的单元格的 ID 提供给另一个页面,该页面应该在数据库中查找具有该 ID 的条目。我正在通过 QueryString 传递此 Id,但无法将其取出。 我已经尝试了一切。每一小段代码,它应该得到参数。 这是我最近的尝试:
var i = location.search.split('i=')[1];
为了测试参数是否被 chop ,我已经试过了,这是行不通的......
var x = document.getElementById("vname");
x.setAttribute("value",i);
vname 是该站点上表单输入字段的 ID。 谢谢您的帮助 :) 编辑:我的 ID 不仅仅是整数,它类似于星期五 21:00 的“fr21”。
我确实尝试了您推荐的所有方法,但没有用。如果我在 firefox 上使用 firebug,它会说:“ReferenceError: functionxyz is not defined”,尽管它是...... 不知道该怎么办。
最佳答案
使用像 split('i=')
这样的方法不是很可靠。更好地使用正则表达式和过滤器来过滤特定的查询字符串值,例如
<script>
var matches = location.href.match(/&?i=(\w+)&?/);
if (matches !== null)
{
var id = matches[1];
alert(id);
}
</script>
这样你就有了支持多个查询字符串参数的优势。因此,当使用类似 abc=d&i=123&g=h
的查询字符串时,脚本将返回 123
。
编辑
/&?i=(\w+)&?/
表示
/
开始正则表达式
&?
匹配可选的 & 字符
我=
我=
(
开始捕获组,稍后用 matches[1] 读取值
\w
匹配所有字符 A-Z、a-z、0-9 和 _
)
关闭捕获组
&?
匹配可选的 & 字符
/
结束正则表达式
关于javascript - 从查询字符串中获取参数不起作用...Javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34485077/