на сколько я помню политика безопасности браузера вам не даст отпарвить форму таким способом, имитирую клик или же отправку.
тут вам в руки примерно такой код
getJson('/form/action/url', $('#formId').serialize());
function getJson(actionUrl, rgData){
$.ajax({
url: actionUrl,
type: 'POST',
dataType: "json",
timeout: 60000,
data: rgData,
beforeSend: function(){
$('body').append('<div class="loader"><div class="animation"></div><div class="bg"></div></div>');
setTimeout('', 5000);
},
success: function(data){
if(typeof(data.callback) != 'undefined') {
var callback = data.callback; delete data.callback;
}
else
var callback = [];
$.each(data, function( elementId, item ){
var selector = '#' + elementId;
switch( item[1] == undefined ? 'rewrite' : item[1] ){
case 'rewrite':
$( selector ).html( item[0] );
break;
case 'before':
$( selector ).prepend( item[0] );
break;
case 'after':
$( selector ).append( item[0] );
break;
}
});
$.each(callback, function(key, item){ eval(item); });
},
complete: function (){
$('.loader').remove();
},
error: function (data){
if(data.responseText){
var rgData = JSON.parse(data.responseText);
$('#ui-dialog-title-dialog-modal').text(rgData.error.type);
$('.message_error').text(rgData.error.message);
$('.file_error').html('<b>' + rgData.error.file + '</b> in line ' + rgData.error.line);
$('#dialog-modal').dialog('open');
}
}
});
return false;
}
на стороне серера обрабатываете данные как они пришли к вам если бы вы отправили форму стандартным способом.
можно вернуть данные и функция их обработает.
echo json_encode([
['idContainerHtml'] => ['возвращаемый контент', 'rewrite'],
['callback'] => [
'alert("Форма отправлена")',
'location.href="/redirect/url"'
]
]);
указываете контейнер в который нужно вернуть данные (rewrite - перезапишет, aftere - добавить в конец, before - добавить в начало).
в массив callback запихиваем весь js код который вам необходимо выполнить