我有一个奇怪的问题,我的表单数据是通过AJAX发布的。表单的某些部分未发送。具体来说,日期和时间部分。这是我的表格:
<script src="/js/x.js" ></script>
<div class="right">
<form id="xForm" method="POST" autocomplete="on">
<input id="xname" name="xname" type="text" placeholder="Name" />
<input id="address" name="address" type="text" placeholder="Address" />
<br/>
<input id="fromdate" name="fromdate" type="date" />
<input id="fromtime" name="fromtime" type="time" />
<br/>
<input id="todate" name="todate" type="date" />
<input id="totime" name="totime" type="time" />
<br/>
<input id="description" name="description" type="text" />
<input id="phone" name="phone" type="phone" />
<input id="friend1" name="friend1" type="hidden" />
<input id="friend2" name="friend2" type="hidden" />
<button class="xCreateButton" type="submit">create!</button>
</form>
</div>
当我使用POST ajax调用(/js/X.js
中的代码)发送它时:
$("#xForm").submit(function(evt)
{
evt.preventDefault();
alert ("date = " + document.getElementById("fromdate").value);
$.ajax ({
type: "POST",
url: "/xSubmission",
data: $(this).serialize(),
success: function (response)
{
alert (response);
$("#eventAjaxContent").text = "Success! Added!";
$("#eventAjaxContent").fadeOut (300);
}
});
它发送除fromdate/time
和todate/time
之外的表单数据(我在我的服务器日志中查看了Spring MVC控制器/xSubmission
和我在Chrome上的控制台调试器)。顺便说一句,就在ajax POST之前,我看到正确设置日期的警报。
我的代码中的fromdate / time和todate / time有什么问题?如您所见,输入元素都有id
和name
,因此这不是问题。我应该注意语法中的Anythinh?
感谢任何帮助。
答案 0 :(得分:1)
转到更高版本的jQuery。我用的是1.3。转到jQuery 1.10解决了这个问题。