У меня есть функция, чтобы изменить фон окна поиска на красный, когда пользователь пытается его отправить, но он пуст, а затем измените его на "none", когда пользователь нажимает на него, например:
HTML:
<form action="http://www.google.com/search" id="search-box">
<input type="search" name="q" id="q" />
<input type="image" src="img/search.png" />
</form>
Javascript:
document.querySelector('#search-box').onsubmit = function () {
if (document.querySelector('#q').value == '') {
document.querySelector('#q').style.background = 'red';
return false;
}
}
document.querySelector('#q').onclick = function () {
if (document.querySelector('#q').style.background == 'red') {
document.querySelector('#q').style.background = '';
return false;
}
}
Он отлично работает на хроме, но он не работает на firefox... любые идеи почему?
Когда вы document.querySelector('#q').style.background
он устанавливает атрибут background: none repeat scroll 0% 0% #F00;
элемента для background: none repeat scroll 0% 0% #F00;
Чтобы достичь того, чего вы хотите, установите ...style.backgroundColor
вместо этого, как таковой
document.querySelector('#search-box').onsubmit = function () {
if (document.querySelector('#q').value == '') {
document.querySelector('#q').style.backgroundColor = 'red';
return false;
}
}
document.querySelector('#q').onclick = function () {
if (document.querySelector('#q').style.backgroundColor == 'red') {
document.querySelector('#q').style.backgroundColor = '';
return false;
}
}
console.log(document.querySelector('#q').style.background)