Мне нужно добавить префикс для ввода формы на основе страны и предотвратить редактирование этого префикса. Я работаю правильно, насколько это касается, но когда я переключаю страны, блок (только для чтения) не очищается. Вход очищается, но первые три столбца по-прежнему доступны только для чтения. Я просматривал темы здесь, и они в основном говорят, что используют инструкцию attr («readonly», false), но по какой-то причине это не работает. Кто-нибудь, пожалуйста, укажет на проблему?Как очистить readonly
<div>
<label for="inputCountry">Country</label>
<div>
<select name="country" id="inputCountry" onchange="SetPhonePrefix();">
<option value="" selected="selected">Please Select</option>
<option value="84">Greece</option>
</select>
</div>
</div>
<script>
function SetPhonePrefix() {
var ctrl = document.getElementById("inputCountry");
var country = ctrl.options[ctrl.selectedIndex].text;
var doLock = false;
if (country == 'Greece') {
document.getElementById('inputFax').value = '+30';
doLock = true;
} else {
document.getElementById('inputFax').value = '';
$("#inputFax").attr("readonly", false);
}
if (doLock) {
var readOnlyLength = $('#inputFax').val().length;
$('#inputFax').on('keypress, keydown', function(event) {
if ((event.which != 37 && (event.which != 39))
&& ((this.selectionStart < readOnlyLength)
|| ((this.selectionStart == readOnlyLength) && (event.which == 8)))) {
return false;
}
});
}
}
</script>
Спасибо за предложение, но я сделал это изменение и не удалить только для чтения либо. – user3052443
@ user3052443 Я бы предложил проверить вашу консоль и настроить JSFiddle, чтобы мы могли увидеть проблему. – rybo111
Я создал jsfiddle, но начальная блокировка не работает. Тот же код работает здесь, поэтому я должен что-то пропускать в jsfiddle. Вот ссылка: https: //jsfiddle.net/user3052443/kebse0z9/13/ – user3052443