Autor Zpráva
qik
Profil *
checkbox funguje jen na onchange a nepovedlo se mi to nastavit na check, oncheck, oncheckchange, checkchange..... myslím že mi tam chybí nějaká deifinice, nebo proměná ale už jsem bezradný. Díky Moc qik


<style>
    .tlusta {font-size: large; font-weight: bold;}
    .cervena {color: red;}
    .modra {color: blue; font-weight: bold;}
</style>
 
<form>
    <div id="pokus" class="cervena tlusta">
        Text, slova, věty, souvětí, odstavce...
    </div>
 <input id="cudlik1" type="checkbox" value="cudlik2">
    <input id="cudlik2" type="checkbox" value="cudlik2">
    <input id="cudlik3" type="checkbox" value="cudlik3">
 
</form>
 
<script>
 
var c1 = document.getElementById('cudlik1');
var c2 = document.getElementById('cudlik2');
var c3= document.getElementById('cudlik3');
var pokus = document.getElementById('pokus');
 
c1. onchange = function() {
    pokus.className =' tlusta';
} 
c2. onchange = function() {
    pokus.className =' modra';
} 
c3. onchange = function() {
    pokus.className =' cervena';
} 
 
</script>
Radek9
Profil
qik:
Jestli jsem to pochopil správně, tak chceš ty třídy přidávat a odebírat podle stavu checkboxů, ano?

var c1 = document.getElementById('cudlik1');
var c2 = document.getElementById('cudlik2');
var c3 = document.getElementById('cudlik3');
var pokus = document.getElementById('pokus');

c1.onchange = function () {
  pokus.className = this.checked ? pokus.className.replace(/(^| )tlusta($| )/, '') : pokus.className + ' tlusta';
};
c2.onchange = function () {
  pokus.className = this.checked ? pokus.className.replace(/(^| )modra($| )/, '') : pokus.className + ' modra';
};
c3.onchange = function () {
  pokus.className = this.checked ? pokus.className.replace(/(^| )cervena($| )/, '') : pokus.className + ' cervena';
};
qik
Profil *
Radek9:

Ahoj, Radek9:
Radek9 - díky dostal jsem se k tomu až dnes a upravil to, (funguje to většinou externí css) ale potřeboval ještě pomoci s detailem - cudlik7 (úplně poslední) aby po odšrtnutí zanechal radiem navolené písmo. Z tvýho skriptu jsem musel vymazat ty zaječí uši ... " (/(^| ) ($| ) " ... aby to jelo. Je to tam na něco ? Nikde jsem to nevygůglil. když tak předem díky za raDY...

<link rel="stylesheet" type="text/css" href="MojeExCSS.css">


<style>
 
.odst2 {width: 440px; padding: 6PX; margin-left: auto; margin-right: auto; background-Color: gold;}

</style>


<p id="pokus">
        
Tady text, slova, věty, souvětí, odstavce... Toto všechno si nastavíme pěkně sami těma čudlíkama dole. Tak s chutí do toho, půl je hotovo !!
  

<form>

<input type="radio" name="s" value="cudlik1" id="cudlik1">Curier
<br>   

<input type="radio" name="s" value="cudlik2" id="cudlik2">Georgia
<br>
<input type="radio" name="s" value="cudlik3" id="cudlik3">Verdana <br>

<input id="cudlik7" type="checkbox" value="cudlik7"> žlutý odst. 440px nastřed <br>




<script>
var pokus = document.getElementById('pokus');

var c1 = document.getElementById('cudlik1');
var c2 = document.getElementById('cudlik2');
var c3 = document.getElementById('cudlik3');

var c7 = document.getElementById('cudlik7');



c1. onchange = function() {
    pokus.className = this.onchecked ? pokus.className.replace() : ' ps';
} 
c2. onchange = function() {
    pokus.className = this.onchecked ? pokus.className.replace() : ' ge';
} 

c3. onchange = function() {
    pokus.className = this.onchecked ? pokus.className.replace() : ' ve';
} 


c7. onchange = function() {
   
  pokus.className = this.onchecked ? pokus.className.replace() : pokus.className +  pokus.className + ' odst2';
pokus.className = this.checked ? pokus.className.replace() : + pokus.className  + '';

} 
</script>
qik
Profil *
Nefunkční živá ukázka
Keeehi
Profil
qik:
1. Ten script na začátku a na konci tam nepatří. Do žluté je části patří jen čistý JavaScript a žádné HTML
2. Co to tam vyvádíš s tím replace? Nemůžeš prostě část smazat a doufat, že ti to bude fungovat.
3. this.onchecked je něco naprosto jiného než this.checked!

Teoreticky by to mělo vypadat takto. Prakticky je tam ten problém že onchange se nespouští na radiu když se mění z true na false takže ty třídy nezmizí ale jen se přidávají. Tedy alespoň v mém mobilním prohlížeči.
Chamurappi
Profil
Reaguji na Keeehiho:
this.onchecked je něco naprosto jiného
Ono to hlavně není vůbec nic. Pan qik si vymýšlí novotvary (viz i v prvním příspěvku) a čeká, že budou zázračně fungovat.
Jediná spolehlivá událost při změnu stavu zaškrtávátka je onclick.

se nespouští na radiu když se mění z true na false
A tomuhle tedy nepomůže ani onclick

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0