checkbox dynamisch

  • Onderwerp starter Onderwerp starter deeq
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

deeq

Gebruiker
Lid geworden
27 aug 2008
Berichten
13
Hallo,

ik wil graag dat een checkbox een aantal invoervelden disabled, dit doe ik met javascript echter, hij werkt verkeerde om als ik de checkbox aanvink disabled hij de text velden, hij moet ze dan juist enabelen.


misschien heeft iemand ook een minder bloated voorbeeld hiervan, echter hij werkt wel goed op deze manier


hier de code:



HTML:
<SCRIPT LANGUAGE="JavaScript"> 
function enableDisable(){ 
var disable = true; 
var arglen = arguments.length; 
var startIndex = 0; 
var frm = document.myForm; 
if (arglen>0){ 
if (typeof arguments[0]=="boolean") { 
disable=arguments[0]; 
if (arglen>1) startIndex=1; 
} 
for (var i=startIndex;i<arglen;i++){ 
obj = eval("frm."+arguments[i]); 
if (typeof obj=="object"){ 
if (document.layers) { 
if (disable){ 
obj.onfocus=new Function("this.blur()"); 
if (obj.type=="text") obj.onchange=new Function("this.value=this.defaultValue"); 
} 
else { 
obj.onfocus=new Function("return"); 
if (obj.type=="text") obj.onchange=new Function("return"); 
}} 
else obj.disabled=disable; 
}}}} 
</script> 

<form name= "myForm"> 
<input type="checkbox" name="allow_price" onclick="enableDisable(this.checked,'half_price','hour_price')" checked="checked" value="1" />disable textfields 
<input type="text" name="half_price" value="0" /> 
<input type="text" name="hour_price" value="0" /> 
</form>
 
eval, document.layers en new Function T_T

[JS]function toggleStuff()
{
var i, toggle = [
document.getElementById('t_1'),
document.getElementById('t_2')
], len = toggle.length;

// je kan gratis en voor niets meer items aan toggle toe voegen!

for(i=0; i<len; i++)
{
toggle.disabled = !toggle.disabled; // oid
}
}[/JS]
HTML:
<input type='text' id='t_1' disabled='true' />
<input type='checkbox' id='t_2' disabled='true' />

<!-- als deze geklikt word, toggle'd ie de 2 dingen hierboven -->
<input type='checkbox' onclick='toggleStuff();' />
zoiets?
 
Laatst bewerkt:
bijna wel

eval, document.layers en new Function T_T

[JS]function toggleStuff()
{
var i, toggle = [
document.getElementById('t_1'),
document.getElementById('t_2')
], len = toggle.length;

// je kan gratis en voor niets meer items aan toggle toe voegen!

for(i=0; i<len; i++)
{
toggle.disabled = !toggle.disabled; // oid
}
}[/JS]
HTML:
<input type='text' id='t_1' disabled='true' />
<input type='checkbox' id='t_2' disabled='true' />

<!-- als deze geklikt word, toggle'd ie de 2 dingen hierboven -->
<input type='checkbox' onclick='toggleStuff();' />
zoiets?




alleen nu is de waarde van de check-box niet gekoppelde aan het wel of niet disabled zijn van de input fields. dat zou helemaal fantastisch zijn, wel alvast bedankt
 
Laatst bewerkt:
eval, document.layers en new Function T_T

[JS]function toggleStuff()
{
var i, toggle = [
document.getElementById('t_1'),
document.getElementById('t_2')
], len = toggle.length;

// je kan gratis en voor niets meer items aan toggle toe voegen!

for(i=0; i<len; i++)
{
toggle.disabled = !toggle.disabled; // oid
}
}[/JS]
HTML:
<input type='text' id='t_1' disabled='true' />
<input type='checkbox' id='t_2' disabled='true' />

<!-- als deze geklikt word, toggle'd ie de 2 dingen hierboven -->
<input type='checkbox' onclick='toggleStuff();' />
zoiets?


Alleen dit ( onclick event) werkt al:

HTML:
<input type="checkbox" name="allow_price" onclick="this.form.half_price.disabled = !this.checked;this.form.hour_price.disabled = !this.checked;"
checked="checked" value="1" />disable textfields 
<input type="text" name="half_price" value="0" /> 
<input type="text" name="hour_price" value="0" />

Ik vind dit wel erg doeltreffend eigenlijk, kwam het op een ander forum tegen ( no credit for me ) maar goed.
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan