我必须为一个大学项目编写一个网络应用程序。它有点像一个使用JSP、Javascript、Java、JQuery和SQL的日历。所以我已经走了很长的路,但是我的查询字符串有问题。我正在尝试将单击的单元格的Id提供给另一个页面,该页面应该在数据库中查找具有该Id的条目。我正在通过QueryString传递该Id,但无法将其取出。我什么都试过了。每一小段代码,都应该把参数取出来。这是我最近的尝试:
var i = location.search.split('i=')[1];
为了测试参数是否被剪切,我尝试了这个,但不起作用。。。
var x = document.getElementById("vname");
x.setAttribute("value",i);
vname是该站点上表单的输入字段的id。感谢您的帮助:)编辑:我的ID不仅仅是Integer,它类似于周五21:00的"fr21"。
我确实试过你推荐的所有东西,但都不起作用。如果我在firefox上使用firebug,它会说:"ReferenceError:functionxyz没有定义",尽管它是。。。不知道该怎么办。
使用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+)&?/
表示
/
开始正则表达式
CCD_ 6匹配可选&字符
i=
i=
(
启动捕获组,稍后读取与[1]匹配的值
w
匹配所有字符A-Z、A-Z、0-9和_
)
闭合捕获组
CCD_ 11匹配可选&字符
/
结束正则表达式