无法将JavaScript JSON对象值设置为表单

时间:2017-03-09 03:31:38

标签: javascript java json spring-mvc

我的JSP:

<form:form modelAttribute="myForm" action="/action">
  <input type="checkbox" value="1" name="checkboxValue" />
  <input type="hidden" name="jsonObject" id="jsonObj" value=""/>
  <input type="submit" value="Submit" onclick="function getjson()"/>
</form:form>

JavaScript的:

function getjson(){
  var json = [];
  var checkedBoxes = $('input[name="checkedList"]:checked').map(function() {
    return this.value;
  }).get();
  var checkedBoxes1 = $('input[name="checkedList1"]:checked').map(function() {
    return this.value;
  }).get();

  json.push({"id":checkedBoxes});
  json.push({"Flap":checkedBoxes1});
  document.getElementById("jsonObj").value = json;
}

我有MyForm.Java

private String checkboxValue;

private jsonObject jsonObject;


//getters and setters 

此处checkboxValue的值保存在变量checkboxValue中,但jsonObject未与变量绑定。我不知道为什么。需要一些认真的帮助。

1 个答案:

答案 0 :(得分:0)

您的jsp应该是这样的

<form:form modelAttribute="myForm" action="/action" id="Submitform">
  <input type="checkbox" value="1" name="checkboxValue" />
  <input type="hidden" name="jsonObject" id="jsonObj" value=""/>
  <input type="button" value="Submit" onclick="getjson()"/>
</form:form>

您的javascript应该更改为

function getjson(){
  var json = [];
  var checkedBoxes = $('input[name="checkedList"]:checked').map(function() {
    return this.value;
  }).get();
  var checkedBoxes1 = $('input[name="checkedList1"]:checked').map(function() {
    return this.value;
  }).get();

  json.push({"id":checkedBoxes});
  json.push({"Flap":checkedBoxes1});
  document.getElementById("jsonObj").value = json;
  document.getElementById("Submitform").submit();
}