JavaScript
- 180 ответов
- 0 вопросов
89
Вклад в тег
var x = 0
if (6 || (5 && (x = 1))) document.write(x); // 0
<form name="upload" data-ajax="true" data-callback="after_upload_1">
<!-- ............ элементы формы -->
</form>
<script>
function callbackForge(type) {
var callback;
switch (type) {
case "after_upload_1": callback = function(a,b,c) {...}; break;
case "after_upload_2": callback = function(a,b,c) {...}; break;
...
case "after_upload_n": callback = function(a,b,c) {...}; break;
}
return callback;
}
$('form[data-ajax]').on('submit', function(event){
event.preventDefault();
var th = $(this);
var form_name = th.attr('name');
var data = th.serialize();
var callback = callbackForge(th.data('callback'));
$.post('/ajax/'+form_name,{data: data})
.success(function(d){
// парсится ответ и в зависимости от ответа
// показывает либо ошибки, либо информацию о сохрнении
ParseResponse(d, 'form[name='+form_name+']');
callback(th, data, event); // и тут уже какие параметры хотите, такие и передавайте
});
});
</script>