Javascript 获取空值使用java脚本将表单提交到新窗口

Javascript 获取空值使用java脚本将表单提交到新窗口,javascript,Javascript,任何形式的帮助都将不胜感激 提前感谢在我的测试中,您不能在表单名称中使用“[”或类似的名称。尽管它在POST请求中发送它(URL转义),但至少PHP不会接受转义或未转义的表单 更改此行: @RequestMapping(value="/showChart",method=RequestMethod.POST) public ModelAndView showChart(@RequestParam(required=false) Long[] selectedItemIds){

任何形式的帮助都将不胜感激
提前感谢

在我的测试中,您不能在表单名称中使用“[”或类似的名称。尽管它在POST请求中发送它(URL转义),但至少PHP不会接受转义或未转义的表单

更改此行:

@RequestMapping(value="/showChart",method=RequestMethod.POST)
    public ModelAndView showChart(@RequestParam(required=false) Long[] selectedItemIds){
        System.out.println(selectedItemIds);  //getting null in controller
        return new ModelAndView("noHeader/solarPlant/chart");
    }

有效(只要更新服务器端变量)


你也可以考虑使用一个隐藏的iFrAMM异步提交表单的技术,如果你不需要弹出一个弹出窗口。

服务器端JavaScript?你是说你的问题中的JS是在服务器上运行的而不是在浏览器中运行的吗?它肯定不是这样的。我的JS在浏览器中运行,但是在服务器上,我是GETIN。g null VALUE我不知道Spring,但看起来您正在为表单字段使用PHP命名约定,并假设Spring将以相同的方式处理它们。我不知道Spring,但除了PHP之外,我从未见过在字段名中使用PHP的方括号来数组语法。这是java脚本(客户端代码)所有服务器端技术都是一样的Spring不是客户端代码或JavaScript。PHP取决于用方括号命名的字段来决定是否将它们表示为数组。
solarPanelIds[1]
应该可以正常工作,但您需要以
$\u POST['solarPanelIds'][1]
而不是
$\u POST['solarPanelIds[1]的身份访问它“]
啊,是的,是的,谢谢——我知道单选按钮也是如此(你特别希望这样),所以我应该意识到这一点。
@RequestMapping(value="/showChart",method=RequestMethod.POST)
    public ModelAndView showChart(@RequestParam(required=false) Long[] selectedItemIds){
        System.out.println(selectedItemIds);  //getting null in controller
        return new ModelAndView("noHeader/solarPlant/chart");
    }
hiddenField.setAttribute("name", "solarPanelIds["+i+"]");
hiddenField.setAttribute("name", "solarPanelIds"+i);