Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 28.05.2022, 13:28
Аспирант
Отправить личное сообщение для TomWalbridge Посмотреть профиль Найти все сообщения от TomWalbridge
 
Регистрация: 24.10.2021
Сообщений: 31

Помогите реализовать валидацию поля
Привет всем! Мне надо разделить номер карты в форме оплаты по 4 цифры и добавить иконку банка при вводе первой цифры в инпут, написал что то похожее на правду, только не работе, подскажите кто чем сможет!
import { el, setChildren, setAttr, mount } from 'redom'
export function renderTable() {
    const h1 = el('h1', 'Payment information')
    const container = el('div')
    const content = el('div')
    const form = el('form')
    const div1 = el('div')
    const div2 = el('div')
    const div3 = el('div')
    const div4 = el('div')
    const div5 = el('div')
    const labelNumCard = el('Label')
    const labelCVC = el('Label')
    const labelDate = el('Label')
    const labelEmail = el('Label')
    const inputCardNumber = el('input')
    const inputCVC = el('input')
    const inputDate = el('input')
    const inputEmail = el('input')
    const button = el('button')

    labelCVC.textContent = 'CVC'
    labelNumCard.textContent = 'Номер карты'
    labelDate.textContent = 'Срок действия карты'
    labelEmail.textContent = 'Email'


    button.textContent = 'Оплатить'


    inputCardNumber.placeholder = "XXXX XXXX XXXX XXXX"
    inputCardNumber.pattern = "[0-9]{4}\s[0-9]{4}\s[0-9]{4}\s[0-9]{4}"
    form.name = 'myform'
    form.id = 'form'
    inputCardNumber.name = 'cardcode'
    inputDate.id = 'date'
    inputDate.type = 'date'


 setAttr(h1, {
        style: { color: 'blue' }
    })

    setAttr(
        form, {
            className: 'myform'
        },
    )
    setAttr(
        inputCardNumber, {
            className: 'cardCode',
            id: 'cardCode'
        },
    )
    setAttr(
        container, {
            className: 'container'
        },
    )
    setAttr(
        div5, {
            className: 'svgIcon'
        },
    )
    setAttr(content, {
        className: 'content'
    })


    mount(window.document.body, container)
    div1.append(inputCardNumber, labelNumCard)
    div2.append(inputCVC, labelCVC)
    div3.append(inputDate, labelDate)
    div4.append(inputEmail, labelEmail)
    form.append(div1, div2, div3, div4, button, div5)
    content.append(form)
    content.prepend(h1)
    container.append(content)

    return {
        form,
        inputCardNumber,
        inputDate,
        inputCVC
    }
}


import { renderTable } from './renderTable'
import { svgMasterCard, svgUnionPay, svgVisa } from './svg'
import JustValidatePluginDate from 'just-validate';

function cardValidCode() {
    var inputCardNumber = this.value.replace(/[^\d]/g, '').substring(0, 16);
    inputCardNumber = inputCardNumber != '' ? inputCardNumber.match(/.{1,4}/g).join(' ') : '';
    this.value = inputCardNumber;
    myform.number.value = this.value.split(" ").join("");
}
for (var i in ['input', 'change', 'blur', 'keyup']) {
    window.inputCardNumber.addEventListener('input', cardValidCode, false);
}
window.inputCardNumber.addEventListener('keyup', () => {
    if (inputCardNumber.value[0] == '3' && inputCardNumber.value != '') {
        div5.innerHTML = svgVisa
        console.log('gggg')
    }
})
renderTable()

Последний раз редактировалось TomWalbridge, 28.05.2022 в 16:10.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как добавить уникальный идентификатор для нового поля формы? javascript_pupil Общие вопросы Javascript 4 19.12.2020 13:06
Помогите реализовать работу Персептрона. libol Общие вопросы Javascript 0 16.06.2020 14:53
Помогите разобраться, как реализовать данный метод? Sannn Общие вопросы Javascript 4 11.09.2013 17:55
знатоки, помогите реализовать задачу! uoziod jQuery 3 28.08.2009 14:59
Помогите реализовать scale по mouseenter WildMaN jQuery 5 06.11.2008 09:51