MediaWiki:Common.js: Difference between revisions

no edit summary
No edit summary
No edit summary
Line 276: Line 276:
   align_mp_box();
   align_mp_box();
});
});
$(document).ready(function () {
  var form_container = $('.form-translation-request');
  if (typeof form_container == 'undefined' || form_container.length == 0) {
    return false;
  }


  var form_html = form_container.html();
  form_container.html('<form action="/applicationform/"  enctype="multipart/form-data" method="post" autocomplete="on"></form>');
  var form_el = form_container.children('form');
  form_el.html(form_html);
  var form_content = form_el.children('.form-content');
  var submit_button = form_el.find('.submit-button');
  submit_button.fadeIn();
  var success_el = form_el.children('.success');
  var errors_el = form_el.children('.errors');
  var ajax = false;
  $(document).on('submit', form_el, function (e) {
    e.preventDefault();
    if (ajax !== false) {
      ajax.abort();
    }
    submit_button.prop('disabled', true);
    ajax = $.ajax({
      url: form_el.attr('action'),
      type: form_el.attr('method'),
      dataType: 'json',
      data: form_el.serialize(),
      success: function (result) {
        errors_el.html('')
        form_el.find('input[name]').css('border-color', '#ccc');
        if (result.status === 'success') {
          form_content.slideUp(function () {
            success_el.slideDown()
          });
        } else if (result.status === 'error') {
          submit_button.prop('disabled', false);
          var errors = '';
          var msg = result.msg;
          for (var key in msg) {
            var input = form_el.find('input[name="' + key + '"]');
            input.css('border-color', 'red');
            errors += '<p>' + msg[key] + '</p>';
          }
          errors_el.html(errors);
        } else {
          alert(result.msg);
          submit_button.prop('disabled', false);
        }
      },
      error: function () {
        submit_button.prop('disabled', false);
        alert('Error! Please try againg.')
      }
    });
    return false;
  });
  $('.form-translation-request input[type="file"]').on('change', function () {
    var that = $(this);
    var input_name = that.attr('name') + '-name';
    var file_data = that.prop('files')[0];
    var form_data = new FormData();
    form_data.append('file', file_data);
    $.ajax({
      url: '/applicationform/upload.php', // point to server-side PHP script
      cache: false,
      contentType: false,
      processData: false,
      data: form_data,
      type: 'post',
      success: function (result) {
        $('input[name="' + input_name + '"]').val(result);
      },
      error: function () {
        alert('Error! Please try againg.')
      }
    });
  });
})


$(window).on('load', function(){
$(window).on('load', function(){