Template:Validation.js: Difference between revisions
Jump to navigation
Jump to search
Content deleted Content added
rm auto focusing of Other on amount error, it's probably more confusing than helpful |
move var amount inside function |
||
Line 1: | Line 1: | ||
<html> |
<html> |
||
<script> |
<script> |
||
//Should this be here? |
|||
⚫ | |||
function DefaultSubmit(formfield,Action) { |
function DefaultSubmit(formfield,Action) { |
||
var keycode; |
var keycode; |
||
Line 19: | Line 16: | ||
function validateForm(form){ |
function validateForm(form){ |
||
⚫ | |||
var minimums = {</html>{{2012FR/Switch/Currency/Minimums}}<html>}; |
var minimums = {</html>{{2012FR/Switch/Currency/Minimums}}<html>}; |
||
Revision as of 18:11, 27 March 2019
<html>
<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){
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>