рабочий код здесь:
https://jsfiddle.net/0xL0fctq/89/
но я закоментил строку $("#phone").mask(mask, {placeholder: "_", autoclear: false}); так как она не работала
В настройках фидлера нужно было НЕ выбирать onLoad, а просто No-wrap in head или No-wrap in body
Код html не видел функцию del.
Но этого недостаточно.
$(document).ready(function() {
function del() {
function del() {
var str = document.getElementById('phone').val;
document.getElementById('phone').val = str.substring(0, str.length - 1);
}
}
});
Тут во-первых верхняя функция del будет видна только внутри function() {},
но она ничего делать не будет, а просто внутри себя определять ещё одну функцию del
Так что функцию del надо написать так:
function del() {
var str = document.getElementById('phone').val;
document.getElementById('phone').val = str.substring(0, str.length - 1);
}
и вытащить на самый верх, чтобы из html её можно было вызывать.
Но не
document.getElementById('phone').val;,
а
document.getElementById('phone').value;
и вообще если мы юзаем Jquery, то можно так:
var str = $('#phone).val();
$('#phone').val(str.substring(0, str.length - 1));
И там ещё скрипт один не подгружается, и валил скрипт. Я его отключил.
Он не подключался так как фиддлер открывается по https, а скрипт подключался по http.