美元.tojson不返回表单值(但它创建了一个带有表单字段的JSON)

$.tojson not returning form values (but it creates a JSON with form fields )

本文关键字:表单 一个 JSON 字段 创建 返回 tojson 美元      更新时间:2023-09-26

不返回表单字段值

var formJSON = $.toJSON($('#form1'));
JSP是:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
  <script type="text/javascript" src="js/ebs.js"></script>
  <script src="js/jquery-ui.js" type="text/javascript"></script>
  <script src="js/jquery-1.8.2.js" type="text/javascript"></script>
  <script src="js/jquery.min.js" type="text/javascript"></script>
  <script src="js/jquery.json-2.4.min.js" type="text/javascript"></script>
  <script src="js/jquery.json-2.4.js" type="text/javascript"></script>
</head>
<body>
  <form id="form1" onclick="validateField()" method="post">
    Text Field 1 : <input id="txt1" name="txt1" type="text" />
    <br />
    <input type="submit" value="SUBMIT" />
  </form>
</body>
</html>

我的JavaScript是:

function validateField() {
  alert('fn called');
  var formJSON = $.toJSON($('#form1'));
  alert('after');
  alert('formJSON' + formJSON);
  alert("method ends here.");
}

我得到了:

form JSON{"length":1,"0":{"txt1":{},"1":{}},"context":{"location":{}},"selector":"#form1"}

(txt1字段没有内容,即使我们在那里输入一些东西)

$.toJSON()将普通Javascript对象转换为JSON。
它不获取DOM元素或jQUery对象的值。

您想要.serializeArray()