我沒有從序列化我的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