从查询字符串中获取参数;不起作用..Javascript

Getting Parameters out of Query String doesn't work...Javascript

本文关键字:不起作用 Javascript 参数 获取 查询 字符串      更新时间:2023-09-26

我必须为一个大学项目编写一个网络应用程序。它有点像一个使用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匹配可选&字符

/结束正则表达式