表单序列化问题
Form serialize issue
这是我的表单标记
<form name="contactForm" id="contactForm" role="form">
<div style="width: 190px">
<div class="form-group">
<input type="text" placeholder="fullname" name="fullname" id="formFullname" class="form-control">
</div>
<div class="form-group">
<input type="email" placeholder="email" name="email" id="fromEmail" class="form-control">
</div>
<div class="form-group">
<input type="text" placeholder="company" name="company" id="fromCompany" class="form-control">
</div>
</div>
<div class="clear"></div>
<div class="form-group">
<textarea placeholder="message" name="message" id="formMessage" rows="3" class="form-control"></textarea>
</div>
<button class="btn btn-success" type="submit" name="submit" id="formSubmit">send</button>
</form>
使用 jquery 1.10.2
这是 JS
var form = $('#contactForm');
form.submit(function () {
console.log("form ", $(this).serialize());
$.ajax({
type: "POST",
url: url + "ajax/sendmail",
data: $(this).serialize(),
success: function (response) {
console.log(response);
}
});
return false;
});
我知道函数会触发,并经过警报测试。但是控制台.log 不会返回任何内容,并且在 ajax 调用期间我在 POST 中看不到任何内容(使用 firebug 的 XHR 观看(。
顺便说一句:role="form"是因为我正在使用Twitter引导框架
我做错了什么?
更新
data: $(form(.serialize(( 也无济于事
如果你试试这个:
form.submit(function () {
console.log("form ", $(this).serialize());
return false;
});
它工作得很好。所以我认为问题
form.on('submit',function () {
event.preventDefault();
console.log("form ", $(this).serialize());
$.ajax({
type: "POST",
url: url + "ajax/sendmail",
data: $("form").serialize(),
success: function (response) {
console.log(response);
}
});
return false;
});
因为代码中的$(this)
不引用form
而是引用调用ajax
方法的jQuery
尝试以下代码,但首先修改表单 HTML,使其具有"action"属性。这段代码的好处是它可以用于任何具有提交按钮和操作属性的表单。(即它不与任何特定 ID 耦合(
$(function() {
$('input[type="submit"]').click(function(event) {
event.preventDefault();
var form = $(this).closest('form');
var url = form.attr('action');
var data = form.serialize();
$.post(url, data)
.done(function() {
alert('Yay! your form was submitted');
})
.fail(function() {
alert('Uh oh, something went wrong. Please try again');
});
});
干杯。
相关文章:
- Ajax发布表单序列化,发布引号'
- 序列化数据属性中对象的最可靠方法
- YUI3 IO实用程序是否可以根据给定的内容类型标头值自动序列化数据
- 为什么JSON.stringify没有序列化原型值
- 有没有一个Nodejs库可以序列化和反序列化命名组件的路径(比如URL路径名)
- 是否可以在javascript中反序列化java对象
- jQuery Ajax数组序列化错误
- 对象序列化,JAVA,Javascript
- 在jquery中以序列化的形式传递额外的paparameter
- 如何使用angularjs序列化对象
- .NET服务中的JSON反序列化-can'不能解决这个问题
- 表单序列化问题
- C#到JavaScript序列化问题
- 为JSON序列化以html形式生成数组时出现问题
- Web2py: json序列化器和javascript有关于python字符串引号的问题
- jQuery更改事件,jQuery中表单序列化的问题
- 将JSON对象反序列化为C#对象时,integer List的反序列化问题
- Javascript序列化数组多个表单问题
- JSON 序列化问题:意外令牌
- CKEditor和jQuery序列化()问题