2010-08-23 24 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

相关问题