Autor Zpráva
m
Profil *
Ahoj, s javascriptem pracuju poprve v zivote a potreboval pomoct. Jde nejak udelat, aby kdyz bude aktivni radio DHCP, tak aby vsechny prvky formulare co jsou v divu "odsadit" (ipaddr, netmask,...) mely nastaveno disabled (neslo do nich psat)? A kdyz aktivuju radio Staticky, tak aby se to v divu zaplo.
Dik za radu.

<fieldset>
	<legend>Nastavení</legend>
	<form name="wan-nastaveni" method="post" action="<?php echo ($_SERVER["PHP_SELF"])?>"> 
		
		<label>DHCP <input type="radio" name="protokol" checked="checked" /></label>
				
		<label>Staticky <input type="radio" name="protokol" /></label>

			<div class="odsadit">
				<label>IP adresa <input type="text" name="ipaddr" /> </label>
				<label>Maska <input type="text" name="netmask" /> </label>
				<label>Brána <input type="text" name="gateway" /> </label>
				<label>Broadcast <input type="text" name="broadcast" disabled="disabled" /> </label>
				<label>1. DNS <input type="text" name="dns1" value="8.8.8.8" /> </label>
				<label>2. DNS <input type="text" name="dns2" value="8.8.4.4" /> </label>
			</div>
									
		<input type="submit" value="Odeslat" /> 
		<input type="reset" value="Smazat" />
	</form> 
</fieldset>
Chamurappi
Profil
Reaguji na m:
<input type="radio" … onclick="this.form.ipaddr.disabled = this.form.netmask.disabled = … atd. … = true;">
… tím je zakážeš. Nastavením na false je povolíš.
m
Profil *
Chamurappi:
Diky moc, funguje to :-)

Jeste dotaz, slo by nejak nastavit, aby ten formular mel po nacteni v prohlizeci kdyz je ve vychozim stavu aktivni radio DHCP vypnuty ty prvky? Pres disabled="disabled" to nechci delat, protoze mam strach, ze klient nebude mit JavaScript a bude pro neho nepouzitelne.
<fieldset>
	<legend>Nastavení</legend>
	<form name="wan-nastaveni" method="post" action="<?php echo ($_SERVER["PHP_SELF"])?>"> 
		
		<label>DHCP <input type="radio" name="protokol" checked="checked" onclick="
									this.form.ipaddr.disabled = 
									this.form.netmask.disabled =
									this.form.gateway.disabled =
									this.form.dns1.disabled =
									this.form.dns2.disabled =									
									true;" /></label>

		<label>Staticky <input type="radio" name="protokol" onclick="
									this.form.ipaddr.disabled = 
									this.form.netmask.disabled =
									this.form.gateway.disabled =
									this.form.dns1.disabled =
									this.form.dns2.disabled =									
									false;" /> </label>
				 
			<div class="odsadit">
				<label>IP adresa <input type="text" name="ipaddr" /> </label>
				<label>Maska <input type="text" name="netmask" /> </label>
				<label>Brána <input type="text" name="gateway" /> </label>
				<label>Broadcast <input type="text" name="broadcast" disabled="disabled" /> </label>
				<label>1. DNS <input type="text" name="dns1" value="8.8.8.8" /> </label>
				<label>2. DNS <input type="text" name="dns2" value="8.8.4.4" /> </label>
			</div>
									
		<input type="submit" value="Odeslat" /> 
		<input type="reset" value="Smazat" />
	</form> 
</fieldset>
Chamurappi
Profil
Reaguji na m:
Zkus přidat za formulář skript:
<script>
document["wan-nastaveni"].protokol[0].onclick();  
</script>
m
Profil *
Chamurappi:
Dik, zase jsi mel pravdu, funguje to :-)
m
Profil *
m:
Uz opravdu posledni dotaz. Na internetu jsem nasel javascript na vypinani textoveho pole checkboxem, funguje to ale mam stejny problem jako prve. Jde nejak nastavit, aby se po nacteni stranky, kdyz neni checkbox zaskrtnuty vypnulo to vstupni pole?
	<script type="text/javascript"> 
	function toggle(checkboxID, toggleID) {
     var checkbox = document.getElementById(checkboxID);
     var toggle = document.getElementById(toggleID);
     updateToggle = checkbox.checked ? toggle.disabled=false : toggle.disabled=true;
   }
/*
   <input
       id="example"
       name="example" 
       onClick="toggle('example', 'disableMe')" 
       type="checkbox" value="1" /> When this is checked, something is disabled <br /> 
 
   <input
       id="disableMe"
       name="disableMe"
       type="text"
       value="This input box will get disabled" /> 
*/   
   
   </script>  
 
<fieldset>
	<legend>Nastavení</legend>
	<form name="wan-nastaveni" method="post" action="<?php echo ($_SERVER["PHP_SELF"])?>"> 
		
		<label>DHCP <input type="radio" name="protokol" checked="checked" onclick="
									this.form.ipaddr.disabled = 
									this.form.netmask.disabled =
									this.form.gateway.disabled =
									this.form.dns1.disabled =
									this.form.dns2.disabled =									
									true;" /></label>
<div class="odsaditShora"></div>
		<label>Staticky <input type="radio" name="protokol" onclick="
									this.form.ipaddr.disabled = 
									this.form.netmask.disabled =
									this.form.gateway.disabled =
									this.form.dns1.disabled =
									this.form.dns2.disabled =									
									false;" /> </label>
					 
			<div class="odsaditZleva">
				<label class="povinne">IP adresa <input type="text" name="ipaddr" /> </label>
				<label class="povinne">Maska <input type="text" name="netmask" value="255.255.255.0" /> </label>
				<label class="povinne">Brána <input type="text" name="gateway" /> </label>
				<label class="povinne">1. DNS <input type="text" name="dns1" value="8.8.8.8" /> </label>
				<label>2. DNS <input type="text" name="dns2" value="8.8.4.4" /> </label>
				<label>Broadcast <input type="text" name="broadcast" disabled="disabled" /> </label>
			</div>

<div class="odsaditShora"></div>
		<label>Změnit MAC adresu <input type="checkbox" id="mac-checkbox-disable" name="mac-check" onClick="toggle('mac-checkbox-disable', 'mac-input-disable')" /> </label>
		<div class="odsadit"><input type="text" id="mac-input-disable" name="mac" value="8.8.4.4" />	</div>

		<input type="submit" value="Odeslat" /> 
		<input type="reset" value="Smazat" />
	</form> 
</fieldset>
<script>
	document["wan-nastaveni"].protokol[0].onclick();  
</script>
Chamurappi
Profil
Reaguji na m:
Stačí, když rovnou při načítání zavoláš to, co máš v onclicku na zaškrtávátku. Můžeš to přidat do toho <script>u, co tam už máš dole.

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: