Template:Validation.js: Difference between revisions

From Donate
Jump to navigation Jump to search
Content deleted Content added
move var amount inside function
rm DefaultSubmit function - no longer used?
Line 1: Line 1:
<html>
<html>
<script>
<script>
function DefaultSubmit(formfield,Action) {
var keycode;
if (window.event) keycode = window.event.keyCode;
else if (Action) keycode = Action.which;
else return true;

if (keycode == 13) {
redirectPayment(</html>{{#ifeq:block|block|'1'|'2'}}<html>);
return false;
}
else
return true;
}

function validateForm(form){
function validateForm(form){

Revision as of 20:32, 27 March 2019

<html>
<script>
function validateForm(form){
  
  var amount = null;
  var minimums = {</html>{{2012FR/Switch/Currency/Minimums}}<html>};

  var error = true;

  // Get amount selection
  for ( var i = 0; i < form.amount.length; i++ ) {
    if ( form.amount[i].checked ) {
      amount = form.amount[i].value;
    }
  }

  if ( form.input_amount_other_box.value != "" ) {
    var otherAmount = form.input_amount_other_box.value;
    otherAmount = otherAmount.replace(/[,.](\d)$/, '\:$10');
    otherAmount = otherAmount.replace(/[,.](\d)(\d)$/, '\:$1$2');
    otherAmount = otherAmount.replace(/[\$£€¥,.]/g, '');
    otherAmount = otherAmount.replace(/:/, '.');
    form.input_amount_other_box.value = otherAmount;
    form.amountGiven.value = otherAmount;
    amount = otherAmount;
  }

  // Check amount is a real number
  error = ( amount == null || isNaN( amount ) || amount.value <= 0 );
  // Check amount is at least the minimum
  var currency = form.currency_code.value;
  if ( typeof( minimums[currency] ) == 'undefined' ) {
    minimums[currency] = 1;
  }
  if ( error ) {
    alert( "</html>{{int:donate_interface-amount-error}}<html>" );
  } else if ( amount < minimums[currency] ) {
    $( "#input_amount_other_box" ).val( '' );
    alert( "</html>{{int:donate_interface-smallamount-error}}<html>".replace('$1', (minimums[currency] + ' ' + currency) ) );
    error = true;
  }
  
  if ( amount > 10000*minimums[currency]) {
    $( "#input_amount_other_box" ).val( '' );
    errorMessageLarge = "</html>{{int:Donate interface-bigamount-error}}<html>";
    errorMessageLarge = errorMessageLarge.replace('$1',10000*minimums[currency]);
    errorMessageLarge = errorMessageLarge.replace('$2',currency);
    errorMessageLarge = errorMessageLarge.replace('$3','benefactors@wikimedia.org');
    alert(errorMessageLarge);
    error = true;
  }

  if ( form.opt_in ) {
    if ( $("input[name='opt_in']:checked").val() === undefined ) {
      $('#error-optin').show();
      error = true;
    } else {
      $('#error-optin').hide();
      form.variant.value = 'emailExplain';
    }
  }

  return !error;
}
</script>
</html>