case 'enter': return 13;
default:
if (val.length == 1) {
- return val.charChodeAt(0)
+ return val.charChodeAt(0);
} else if (val % 1 === 0) {
return val;
} else {
if (data.checks) {
for (var i=0; i < data.checks.length; i++) {
check = data.checks[i];
- func = kivi.get_function_by_name(check);
- if (!func) console.log('Cannot find check function: ' + check);
- if (!func()) return;
+ if (check.constructor !== Array)
+ check = [ check ];
+ func = kivi.get_function_by_name(check[0]);
+ if (!func)
+ console.log('Cannot find check function: ' + check);
+ if (!func.apply(document, check.slice(1)))
+ return;
}
}
if (data.confirm && !confirm(data.confirm)) return;
if (data.call) {
func = kivi.get_function_by_name(data.call[0]);
- func.apply(document, data.call.slice(1))
+ func.apply(document, data.call.slice(1));
}
if (data.submit) {
var form = data.submit[0];
var params = data.submit[1];
for (key in params) {
- $hidden = $('<input type=hidden>')
- $hidden.attr('name', key)
- $hidden.attr('value', params[key])
- $(form).append($hidden)
+ $('[name=' + key + ']').remove();
+ $hidden = $('<input type=hidden>');
+ $hidden.attr('name', key);
+ $hidden.attr('value', params[key]);
+ $(form).append($hidden);
}
$(form).submit();
}