А я и не умещаю, да ?
с мир на белкарт тоже комиссии вводят?
Может кто помочь или лучше научить?
Ненасытный
Именно)
Судя по текущим формулировкам и ответам техподдержки банков, как раз ради этого все и задумывалось. Я перегнал все лишние деньги в пятницу, теперь осталось надеяться, что их санкциями не обложат)
После заполнения полей жмёшь на кнопку, собираешь данные из полей, валидируешь их (что есть все необходимые и в нужном виде) и делаешь вычисления.
Можно обойтись без кнопки — при соблюдении каких-то минимальных условий (например, заполнены метраж и выбрана базовая комплектация) срабатывает функция расчёта.
Это в общих чертах. Попробуй поискать на «калькулятор на сайт».
После заполнения полей жмёшь на кнопку, собираешь данные из полей, валидируешь их (что есть все необходимые и в нужном виде) и делаешь вычисления.
Можно обойтись без кнопки — при соблюдении каких-то минимальных условий (например, заполнены метраж и выбрана базовая комплектация) срабатывает функция расчёта.
Это в общих чертах. Попробуй поискать на «калькулятор на сайт».
Искал там все не совсем подходит
Contribute to ilyaa123/Calculator development by creating an account on GitHub.
В принципе, это не сложно. Но, как я выше написал, это часто индивидуально.
Вот код калькулятора на 4 селектора и он совсем не страшный. Но он подогнан под конкретную вёрстку, т.е. особого смысла в нём для другого сайта нет:
import { debounceUserInput } from ‘./utils’
import { animateCalc } from ‘./animate’
export const calc = (options = {}) => {
const {
price = 100,
lsKey = ‘lsKey’,
selectorBlock,
selectorType,
selectorMaterial,
selectorSquare,
selectorTotal,
} = options
const calcBlock = document.getElementById(selectorBlock)
const calcType = document.getElementById(selectorType)
const calcMaterial = document.getElementById(selectorMaterial)
const calcSquare = document.getElementById(selectorSquare)
const calcTotal = document.getElementById(selectorTotal)
const saveToLocalStorage = (key, value) => {
localStorage.setItem(key, value)
}
const clearLocalStorage = (key) => {
localStorage.removeItem(key)
}
const countCalc = () => {
clearLocalStorage(lsKey)
const typeValue = calcType.options[calcType.selectedIndex].value
const materialValue =
calcMaterial.options[calcMaterial.selectedIndex].value || 1
const squareValue = calcSquare.value
let total = 0
if (!typeValue || !squareValue) {
calcTotal.value = »
}
if (typeValue && squareValue) {
total = price * typeValue * materialValue * squareValue
animateCalc(total, calcTotal)
saveToLocalStorage(lsKey, total)
}
} // end countCalc
calcBlock.addEventListener(‘input’, (e) => {
if (e.target.matches(‘select, input’)) {
debounceUserInput(countCalc)
}
})
}
import { calc } from ‘./modules/calc’
const price = 100
const lsKey = ‘calc-total’
calc({
price,
lsKey,
selectorBlock: ‘calc’,
selectorType: ‘calc-type’,
selectorMaterial: ‘calc-type-material’,
selectorSquare: ‘calc-input’,
selectorTotal: ‘calc-total’,
})