我没有从序列化我的html表单获取任何数据。这里是形式jQuery表单序列化 - 只是返回一个空字符串
<form method="post" action="#" name='basicForm' id='basicForm'>
<input type="text" name="n_username" id="id_username" class="form-control uname" placeholder='Username' value='test_user' data-msg-required='The input field is required.' data-rule-required='true'/>
<input type="password" name="n_password" id="id_password" class="form-control pword" placeholder='Password' value='xxxx' data-msg-required='The input field is required.' data-rule-required='true'/>
<button class="btn btn-success btn-block">Sign In</button> </form>
,这里是jQuery的
jQuery(document).ready(function(){
$("#basicForm").validate({
submitHandler: function (form) {
var request;
var $form = $(this);
var $inputs = $form.find("input, select, button, textarea");
var serializedData = $form.serialize();
alert (serializedData); <==empty
$inputs.prop("disabled", true);
request = $.ajax({
url: "./ajax/login.php",
type: "post",
data: serializedData
});
request.done(function (response, textStatus, jqXHR) {
// log a message to the console
console.log("Hooray, it worked!");
alert(response);
//window.location.replace("success.php");
});
}
}); //validate
});//ready
</script>
表单中的数据不被序列化。我收到一个空的警报框。另外,AJAX页面上我回发到我的print_r $ _POST数组,并得到这样的:阵列()
我已经检查了表单元素有这似乎是常见的问题名称。我正在使用这个jQuery版本
验证工作正常。这也适用于您的帮助
var x = $("#id_username").val();
var y = $("#id_password").val();
request = $.ajax({
url: "./ajax/login.php",
type: "post",
//data: serializedData
data : {
username : x,
password: y
}
感谢您能给
@RoryMcCrossan,问题是在回调函数中不会有'$(this)',所以他的'$ form'是空的。 – Sparky 2014-12-02 16:36:14
好点@Sparky – 2014-12-02 16:47:55
我已经发布了一个答案......它对你有帮助吗? – Sparky 2014-12-02 23:14:56