У меня проблема с кодом, который работает, когда я использую только условия годами, но когда я добавляю условия для типа, имени и места, функция не дает ожидаемого результата (смените кнопку status to disabled = false).Кнопка (disabled = false); работает в некоторых случаях, а не в других
Я использую слушатель событий документа для проверки действий пользователя:
document.addEventListener("blur", enableSaveButton());
У меня есть следующий код для проверки условий о том, когда для установки инвалида значения кнопки щелкни на ложь:
function enableSaveButton() {
startyear = document.getElementById('start_year');
endyear = document.getElementById('end_year');
type = document.getElementById('type');
place = document.getElementById('place');
name = document.getElementById('name');
if (!(startyear.className === "form-group has-success")) { return; }; // works
if (!(endyear.className === "form-group has-success")) { return; }; // works
if (!(type.className === "form-group has-success")) { return; };// does not work
if (!(place.className === "form-group has-success")) { return; };// does not work
if (!(name.className === "form-group has-success")) { return; }; // does not work
document.getElementById("savebutton").disabled = false; } // this code works
стартyear и endyear обе те же функции, подтвержденогодность (год, id) (если поле onblur) для установка g формирует групповой статус либо «form-group has-success», либо «form-group has-error».
тип, имя и место использование другой функции, faultyChars (stringen, ID) для получения того же результата.
Оба работают по назначению (даже если код не может быть внедренный ...) =)
Если я использую только StartYear и EndYear в enableSaveButton() функция работает отлично. Но если я добавлю тип, место и имя ошибка входит, хотя она содержит практически тот же код. Есть идеи по этому поводу? Все и любая помощь приветствуются!
Вот функции я уже упоминал:
function validateYear(year, id){
console.log("Inne i validateYear");
var x = document.getElementById(id);
if (year === "") { x.className="form-group has-error"; return false; }
if (isNaN(year)) { x.className="form-group has-error"; return false; }
if (year.length !== 4) { x.className="form-group has-error"; return false; }
if ((year.substr(0,2) !== "19") && (year.substr(0,2) !== "20")) { x.className="form-group has-error"; return false; }
else {
x.className="form-group has-success";
enableSaveButton(year);
return true; }
}
function enableSaveButton() {
startyear = document.getElementById('start_year');
endyear = document.getElementById('end_year');
type = document.getElementById('type');
place = document.getElementById('place');
name = document.getElementById('name');
if (!(startyear.className === "form-group has-success")) { return; };works
if (!(endyear.className === "form-group has-success")) { return; }; // works
if (!(type.className === "form-group has-success")) { return; };// does not work
if (!(place.className === "form-group has-success")) { return; };// does not work
if (!(name.className === "form-group has-success")) { return; }; // does not work
document.getElementById("savebutton").disabled = false; // this code works
}
Что не работает? Каковы ошибки? – Matheno
Попробуйте изменить имена своей переменной. 'name' /' place'/'type' – NewToJS
_" и функция 'crashes' "_ - поскольку вы уже сами устанавливаете« сбои »в кавычках, вы, похоже, знаете, что это не самое точное описание проблем ... поэтому, пожалуйста, отредактируйте свой вопрос и включите соответствующий, который действительно даст нам полезную информацию. – CBroe