Javascript - zadefinovanie vysky. Pomoc PROSIM

Programovacie jazyky, rady, poradňa...
benqo
Amateur
Amateur
Príspevky: 12
Registrovaný: 20 feb 2010, 9:46

Javascript - zadefinovanie vysky. Pomoc PROSIM

Príspevok od používateľa benqo »

Dobrý deň prajem,

Mám taký problém. Mám skript ktorý po stlačení na tlačidlo pridá ďalšie polia/to funguje ako má/
Chcem pomocou javascriptu zadefinovať výšku. Prvotne to ide ale keď chcem aby pridalo/pripočítalo/ výšku určitej hodnoty tak to neurobí.

Neviem prečo mi to nejde, Chcek by som poprosiť či by sa niekto na to nekukol a nepovedal kde mám chybu.


Tu je ten kód:

Kód: Vybrať všetko

<script>
fields = 0;
function addSkolu() {
if (fields != 5) { 
document.getElementById('novaSkola').innerHTML += "------------------------------------------------------------------------------<input name=\"odVz\" type=\"text\" class=\"inputText2\" id=\"odVz\" size=\"5\" value=\"Od\" onblur=\"if(this.value == \'\') { this.value=\'Od\'}\" onfocus=\"if (this.value == \'Od\') {this.value=\'\'}\"/><input name=\"doVz\" type=\"text\" class=\"inputText3\" id=\"doVz\" size=\"5\" value=\"Do\" onblur=\"if(this.value == \'\') { this.value=\'Do\'}\" onfocus=\"if (this.value == \'Do\'){this.value=\'\'}\"/><input name=\"skola\" type=\"text\" class=\"inputText4\" id=\"skola\" size=\"30\" value=\"Škola\" onblur=\"if(this.value == \'\') { this.value=\'Škola\'}\" onfocus=\"if (this.value == \'Škola\') {this.value=\'\'}\"/><input name=\"odborVz\" type=\"text\" class=\"inputText5\" id=\"odborVz\" size=\"30\" value=\"Odbor\" onblur=\"if(this.value == \'\') { this.value=\'Odbor\'}\" onfocus=\"if(this.value == \'Odbor\') {this.value=\'\'}\"/>";
fields += 1; 
} else {
document.getElementById('novaSkola').innerHTML += "<br />Len 6 škôl je povolených";
document.form.add.disabled=true; vyska = vyska + 120;
}
}

          var vyska=80; 
function addVys(){
	vyska = vyska + 120;
} 
                 			  document.getElementById('stylos').innerHTML = "<style> .wizard > .content{min-height:"+vyska+"em;}</style>";
            </script> 
.
.
.
.
.
.
 <input name="odVz" type="text" class="inputText2" id="odVz" size="5" value="Od" onblur="if(this.value == '') { this.value='Od'}" onfocus="if (this.value == 'Od') {this.value=''}"/><input name="doVz" type="text" class="inputText3" id="doVz" size="5" value="Do" onblur="if(this.value == '') { this.value='Do'}" onfocus="if (this.value == 'Do') {this.value=''}"/><input name="skola" type="text" class="inputText4" id="skola" size="30" value="Škola" onblur="if(this.value == '') { this.value='Škola'}" onfocus="if (this.value == 'Škola') {this.value=''}"/><input name="odborVz" type="text" class="inputText5" id="odborVz" size="30" value="Odbor" onblur="if(this.value == '') { this.value='Odbor'}" onfocus="if (this.value == 'Odbor') {this.value=''}"/>
      
<div id="novaSkola">

</div>

      </td></tr>
      <tr><td height="30" valign="bottom" align="center"><input type="button" onclick="addSkolu(); addVys();" name="add" value="Pridať ďalšiu školu" class="nextSchool" /></td></tr>

Vopred ĎAKUJEM za každú odpoveď.
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Re: Javascript - zadefinovanie vysky. Pomoc PROSIM

Príspevok od používateľa audiotrack »

to že si zmeníš hodnotu v nejakej premennej ešte neznamená že to bude mať nejaký efekt keď ju nikde nepoužiješ. Tvoje td má napevno height="30" a nikde to nemeníš. V tej funkcii addVys() musíš túto hodnotu aktualizovať, a nie iba zmeniť premennú vyska.

Ale celé je to zlé, škaredé a neprehladné. Pridávať to cez innerHTML je neefektívne a škaredé riešenie. Treba to pridávať priamo do DOM, a tie onclick, onfocus a neviem aké eventy definovať ako eventy. A hlavne používať enter a tabulátor!
Napísať odpoveď