Próbuję utworzyć stronę darowizn dla osób, które mogą przekazać pieniądze organizacji non-profit i pozwolić im na określenie sposobów wykorzystania pieniędzy. Mam to ustawione, że sumuje kwoty, które dawca wkłada w każde pole, gdy wprowadzają kwoty. Próbuję dodać maskę wprowadzania w każdym polu, ale po prostu powoduje awarię JavaScript i nic nie robi. Oto kod obecnie mam, które działa doskonale przed wszystkimi maskami:Maska wejściowa jQuery nie działa
<script src="/js/jquery.js"></script>
<script type="text/javascript">
$(document).ready(function() {
var calcTot = function() {
var sum = 0;
$('.toTotal').each(function(){
sum += Number($(this).val());
});
$('#giveTotal').val('$' + sum.toFixed(2));
}
calcTot();
$('.toTotal').change(function(){
calcTot();
});
});
</script>
„toTotal” jest podana nazwa klasy do wszystkich polach wejściowych, które muszą być sumowane; to także klasa, która potrzebuje maski. "giveTotal" to id całego pola.
Próbowałem kilka odmian, które znalazłem na StackOverflow i innych witryn.
Pełny Kod:
<html>
<head>
<script src="/js/jquery.js"></script>
<script type="text/javascript">
$(document).ready(function() {
//This is one of the masking codes I attempted.
$('.toTotal').mask('9.99', {reverse: true});
//other options I have tried:
//$('.toTotal').mask('9.99');
//$('.toTotal').mask('0.00');
//$('.toTotal').inputmask('9.99');
//$('.toTotal').inputmask('mask', {'mask': '9.99'});
var calcTot = function() {
var sum = 0;
$('.toTotal').each(function(){
sum += Number($(this).val());
});
$('#giveTotal').val('$' + sum.toFixed(2));
}
calcTot();
$('.toTotal').change(function(){
calcTot();
});
//I have tried putting it here, too
});
</script>
<title>Addition</title>
</head>
<body>
<input type="text" class="toTotal"><br />
<input type="text" class="toTotal"><br />
<input type="text" class="toTotal"><br />
<input type="text" id="giveTotal">
</body>
</html>
można podać kod maski, który jest przyczyną błędu? –
Jak już powiedziałem, próbowałem wielu odmian. Miałem nadzieję, że zadziała to "$ (" .toTotal ") .mas (" 000,000.00 ', {reverse: true}); '. Próbowałem również odmiany, które znalazłem, które używały '.inputmask', zi bez '' {reverse: true} 'i 9s zamiast 0s. Nie wiem, czy miejsce docelowe mogło również stanowić problem. Moją pierwszą opcją było umieszczenie tego kodu na linii przed 'var calcTot = function() {'. Próbowałem też tego na końcu funkcji gotowej i na środku. – Andrew
Czy możesz podać pełną próbkę kodu w pytaniu, ponieważ nie można odpowiedzieć, nie widząc konkretnego problemu. Jedynym rozwiązaniem, jakie mogę wymyślić, nie jest to, że skrypty Mask Plugin nie zostały uwzględnione. –