2010-11-26 46 views
0

我如此努力 - 我必须失去了一些东西很明显,但我已经检查过畸形的HTML,JavaScript的通过萤火虫试图调试,选择不同的,但没有任何工程。为什么我不能序列化我的形式?我的代码如下:不能序列形式与jQuery .serialize

<!DOCTYPE html> 
<html> 
<head> 
<link rel="stylesheet" type="text/css" href="http://ajax.microsoft.com/ajax/jquery.ui/1.8.6/themes/le-frog/jquery-ui.css" /> 
<link rel="stylesheet" type="text/css" href="./application/css/main.css" /> 
<link rel="stylesheet" type="text/css" href="./application/css/uniform.default.css" /> 
</head> 
<body> 
<div id="markerinfocontainer"> 
<div id="actionpanel"> 
<div id="reportmarker" title="click to report this marker as invalid"></div> 
<div id="vieweditmarker" class="view" title="click to edit this marker"></div> 
</div><div id="star-rating" class="rating"></div> 
<form id="markerForm" method="post" action=""> 
<table id="markertable"> 
<tr> 
<td class="label">Title</td> 
<td><input id="txtTitle" type="text" maxlength="70" /></td> 
</tr> 
<tr> 
<td class="label">Goalsize</td> 
<td><select id="selGoals"> <option value="1">2v2</option> <option value="2">5v5</option> <option value="3">7v7</option> <option value="4">11v11</option> </select></td> 
</tr> 
<tr> 
<td class="label">Fieldsize</td> 
<td><select id="selCapacity"> <option value="1">2v2</option> <option value="2">5v5</option> <option value="3">7v7</option> <option value="4">11v11</option> </select> 
</td> 
</tr> 
<tr> 
<td class="label">Fundament</td> 
<td><select id="selFundament"> <option value="1">Grass</option> <option value="2">Asphalt</option> <option value="3">Growel</option> <option value="4">Indoor</option> </select> 
</td> 
</tr> 
<tr> 
<td class="label">Facilities</td> 
<td>Stadium:<input type="checkbox" id="facStadium" />Waterpost:<input type="checkbox" id="facWaterpost" />Toilet:<input type="checkbox" id="facToilet" />Bench:<input type="checkbox" id="facBench" />Fence:<input type="checkbox" id="facFence" /> 
</td> 
</tr> 
<tr> 
<td class="label">Extra</td> 
<td><textarea id="txtExtra" rows="3" cols="20"></textarea></td> 
</tr> 
</table> 
</form> 
</div> 

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script> 
<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.6/jquery-ui.min.js"></script> 
<script src="./application/js/jquery.uniform.min.js" type="text/javascript"></script> 
<script type="text/javascript"> 
$(document).ready(function(){ 
console.log("what!"); 
alert("argh"); 
$(document).ready(function() 
{ 
console.log("markerform " , $("#markerForm").serialize()); 
}); 
}); 
</script> 
</body> 
</html> 

回答

7

HTML表单元素的name ATTR,而不是id ATTR操作。所以你会想要例如

<input type="checkbox" name="facStadium" id="facStadium" /> 

然后你应该得到的东西,当你调用序列化。此外,它可能没有帮助,你已经相互嵌套的两个文件,准备处理程序;取下内之一。

(也,千web开发者死每次使用表格布局的时间......)

+0

+1最后一行,笑 – Orbling 2010-11-26 01:39:40

2

也许是因为你有两个嵌套$(document).ready

$(document).ready(function(){ 
    console.log("what!"); 
    alert("argh"); 
    $(document).ready(function() 
    { 
     console.log("markerform " , $("#markerForm").serialize()); 
    }); 
});