@olenafront097

Как перед отправкой формы подменять значение?

тоесть оставить в инпуте только цифры
пробую ниже так

$('form').on('submit', function(e){
  e.preventDefault();
  let input = $('input');
  let currentValue = input.val();
  let convertValue = currentValue.replace(/\D/g, '')
  input.val(convertValue);
})
  • Вопрос задан
  • 173 просмотра
Пригласить эксперта
Ответы на вопрос 1
@stavfz
Не пойму в чем вопрос у вас вполне рабочий код jQuery
Единственное если у вас несколько инпутов то он конечно не отработает так как вы ждете. так как вы пытаетесь манипулировать не отдельным элементом
$('#input')
а всеми элементами input
$('input')

Вот для примера рабочий вариант на основе вашего кода. Если нужны пояснения пишите поясню.
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<script src="https://code.jquery.com/jquery-3.6.0.min.js" integrity="sha256-/xUj+3OJU5yExlq6GSYGSHk7tPXikynS7ogEvDej/m4=" crossorigin="anonymous"></script>

<body>
    <form action="#" method="post" id="Myform">
        <input type="text" name="only_num" id="Myinput" required>
        <input type="submit" value="Submit" id="submit">
    </form>
</body>
<script>
    $('#Myform').on('submit', function(e) {
        e.preventDefault();
        let input = $('#Myinput');
        let currentValue = input.val();
        let convertValue = currentValue.replace(/\D/g, '')
        input.val(convertValue);
    })
</script>

</html>
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы