2010-08-23 80 views
0

:。的jquery我有一個麻煩的一點點帶有以下ajaxSubmit的問題

<script> 
$(document).ready(function() { 
$('#sform').validate({ 
rules: { firstName: {required:true}, 
     lastName: {required:true}, 
     emailAddress: {required:true, email:true} 
}, 
messages: { firstName: '<br/><span style="color:red;">Please enter your first name!</span>', 
      lastName : '<br/><span style="color:red;">Please enter your last name!</span>', 
      emailAddress: '<br/><span style="color:red;">Please enter a valid email address!</span>' 
}, 
    submitHandler: function(form){ 
    var options = { 
       beforeSubmit: showRequest, 
       success: showResponse, 
       type: 'post', 
       url:'sendSurvey.cfm' 
       }; 
    $(this).ajaxSubmit(options); 
    return false; 
    } 
}); 
function showRequest(formData, jqForm, options) { 
$('#formSub').html('We really appreciate your feedback!'); 
var queryString = $.param(formData); 
alert('About to submit: \n\n' + queryString); 
    return true; 
} 
function showResponse(responseText, statusText) { 
    alert('status: ' + statusText + '\n\nresponseText: \n' + responseText + 
     '\n\nThe output div should have already been updated with the responseText.'); 
} 
}); 
</script> 

的問題是,沒有張貼任何形式的數據$參數(FORMDATA)爲空。該怎麼辦?感謝

回答

1

您需要提交<form>,所以你的內容是有點過了,不是這樣的:

$(this).ajaxSubmit(options); 

你需要這樣的:

$(form).ajaxSubmit(options); 

如果你在打電話thissubmitHandler,this引用驗證對象本身,而不是<form>,因此只需使用傳入的form DOM元素引用。

+0

d'oh。非常感謝你! – CFNinja 2010-08-23 13:55:03