Javascript 隐藏输入数组

标签 javascript arrays input hidden

是否可以将隐藏输入字段的值作为数组,然后将其传递给 Spring MVC Controller ?

function foo(){
    var myArray = new Array();
    myArray[0] = "Hello";
    myArray[1] = "World!";
    document.getElementById("hiddenInp").value=myArray;
}

然后在 Controller 中做类似的事情

@RequestMapping ...
public String test(HttpServletRequest request)
{
    String[] myArray = request.getParameter("hiddenInp");
    // Assuming that the name of the hidden input field is also hiddenInp
    System.out.println(myArray[0] + myArray[1]);
    ...
}

如果我使用关联数组呢?其中索引是字符串而不是 int

最佳答案

您最好的选择是对数组进行字符串化,然后对其进行赋值。

element.value = JSON.stringify( ["Hello", "World"] );

结果值将是 JSON然后可以在服务器上解析的字符串,重新创建数组。如果您希望拥有类似于关联数组的东西,这种方法也适用于对象。

我应该指出,虽然 JSON 在当今的浏览器中得到了相当好的支持,但旧的浏览器可能不支持它。你可以polyfill the feature fairly easily在这些情况下:

关于Javascript 隐藏输入数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10939840/

相关文章:

javascript - JavaScript/Node 中的数据模型定义标准

javascript - setValue 基于未定义值的 if 条件

javascript - 在 Javascript 中使用 View 模型

java - 如何将字符串参数拼凑在一起形成现有符号?

jquery - 将数组值设置为 jQuery 表单中的隐藏值

javascript - 通过 jquery 设置输入字段的值并不总是刷新该字段

java - 为什么扫描仪中缺少输入的最后一个元素?

javascript - 如何从远程页面访问 phonegap API

javascript - 如何使用 Javascript 读取 JSON 数组以获取值(如果存在)

javascript - 如何只允许在输入[类型 ="number"] 字段中输入数字?