Здравейте,
Имам нужда от малко помощ.
Правя уеб форма, която ще се изпраща с POST. В нея има два радио бутона, които искам да са задължителни. Имам скрипт, който при опит за изпращане валидира формата и ако някой от задължителните елементи не е попълнен го оцветява в червено. Това обаче не може да стане със стандартните радио бутони. Затова мисля да използвам custom бутони:
Кодът е взет ето от този линк.
Идеята ми е да добавя допълнителен клас в CSS, който да зарежда червена картинка.
Тепърва се захвашам с такива неща и изобщо не съм ориентиран - бихте ли ме насочили как трябва да стане това?
С
[js]document.getElementsById("id_на_бутона").className = "rbz";[/js]
не успявам да постигна нищо (Object doesn't support this property or method)
Крайната цел е със JS да сменя класа на обекта (примерно от rbu на rbz) и по този начин да му променя външния вид.
Направих опит и само да му сменя картинката:
[js]document.getElementById("id_на_бутона").style.backgroundImage="url(http://web-tourist.net/userfiles/2/същата_картинка_но_червена.png.png)";[/js]
И пак никакъв успех... Срам ме е да си призная колко време се опитвам да го направя това
Имам нужда от малко помощ.
Правя уеб форма, която ще се изпраща с POST. В нея има два радио бутона, които искам да са задължителни. Имам скрипт, който при опит за изпращане валидира формата и ако някой от задължителните елементи не е попълнен го оцветява в червено. Това обаче не може да стане със стандартните радио бутони. Затова мисля да използвам custom бутони:
Код:
<script type="text/javascript">
function rbcc(el) {
rbn = el.getElementsByTagName("input")[0].name;
rbn = document.getElementsByName(rbn);
for (i=0;i<rbn.length;i++) {
rbn[i].checked = false;
rbn[i].parentNode.className = "rbu";
}
el.getElementsByTagName("input")[0].checked = true;
el.className = "rbc";
}
</script>
<style type="text/css">
.rbc {width:14px;height:13px;background:url(http://web-tourist.net/userfiles/2/2508.png) no-repeat;cursor:pointer;}
.rbu {width:14px;height:13px;background:url(http://web-tourist.net/userfiles/2/2509.png) no-repeat;cursor:pointer;}
.rbz {width:14px;height:13px;background:url(http://web-tourist.net/userfiles/2/същата_картинка_но_червена.png) no-repeat;cursor:pointer;}
.rbc input,.rbu input {display:none;}
</style>
<form>
<div class="rbc" onclick="rbcc(this)"><input type="radio" name="rb" value="purvi" checked="checked" /></div>
<div class="rbu" onclick="rbcc(this)"><input type="radio" name="rb" value="vtori" /></div>
<div class="rbu" onclick="rbcc(this)"><input type="radio" name="rb" value="treti" /></div>
</form>
Идеята ми е да добавя допълнителен клас в CSS, който да зарежда червена картинка.
Тепърва се захвашам с такива неща и изобщо не съм ориентиран - бихте ли ме насочили как трябва да стане това?
С
[js]document.getElementsById("id_на_бутона").className = "rbz";[/js]
не успявам да постигна нищо (Object doesn't support this property or method)
Крайната цел е със JS да сменя класа на обекта (примерно от rbu на rbz) и по този начин да му променя външния вид.
Направих опит и само да му сменя картинката:
[js]document.getElementById("id_на_бутона").style.backgroundImage="url(http://web-tourist.net/userfiles/2/същата_картинка_но_червена.png.png)";[/js]
И пак никакъв успех... Срам ме е да си призная колко време се опитвам да го направя това