2013-03-06 53 views
0

未返回表单字段值

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场没有内容。)

+0

听起来像一个问题,无论$'.toJSON'是什么,或者你使用它的方式。 – 2013-03-06 16:33:04

回答

4

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

你想要.serializeArray()

+0

非常感谢你......“serializeArray()”已经成功了。 我将输入序列化并遍历数组以手动创建json字符串。 – 2013-03-07 07:35:09