HighDots Forums  

checkbox => input auf '0'.

Javascript (German) Programmiersprache JavaScript. (de.comp.lang.javascript)


Discuss checkbox => input auf '0'. in the Javascript (German) forum.



Reply
 
Thread Tools Display Modes
  #1  
Old   
Hans Kästner
 
Posts: n/a

Default checkbox => input auf '0'. - 06-17-2005 , 08:23 AM






Hallo NG*,

ich suche eine Methode mit der man ein Input-Feld auf '0' setzen lassen
kann.
Doch dieses script funktioniert nicht. Wenn die Umfrageoption deaktiviert
wird,
soll dei Zahl der Anbtwortmöglichekite nauf 0 gesetzt werden.

<label for="vote2" onClick="
if(!top.document.forms['posting'].elements['vote'].checked==false)
top.document.forms['posting'].elements['vote_answers'].value=0;
"><input type="checkbox" id="vote2" name="vote" value="on"> Umfrage
erstellen.</label><br />
<br />
<b>Zahl der Antwortmöglichkeiten für die Umfrage.</b><br />
<input type="text" name="vote_answers" size="1" value="0"><br />

Weiss jemand wo der Fehler liegt?

ciao



Reply With Quote
  #2  
Old   
Hans Kästner
 
Posts: n/a

Default Re: checkbox => input auf '0'. - 06-17-2005 , 08:44 AM






Hier mal eine kleine Funktion, dazu, habe den Fehler gefunden.

function disable(id) {
if(top && top.document && top.document.forms['posting'] &&
top.document.forms['posting'].elements[id]) {
if(document.getElementById && document.getElementById(id).checked==false)
top.document.forms['posting'].elements['vote_answers'].value=0;
else if(document.all && document.all[id].checked==false)
top.document.forms['posting'].elements['vote_answers'].value=0;
else if(document.layers && document.layers[id].checked==false)
top.document.forms['posting'].elements['vote_answers'].value=0;
}
}

Doch wenn ich jetzt aktiviere oder deaktivierem jedes Mal wird der Input auf
0 gestzt.



Reply With Quote
  #3  
Old   
Thomas 'PointedEars' Lahn
 
Posts: n/a

Default Re: checkbox => input auf '0'. - 06-17-2005 , 01:14 PM



Hans Kästner wrote:
^
(Uncodierte) 8-bit-Zeichen in Headern sind pfui. <http://oe-faq.de/>

Quote:
Hier mal eine kleine Funktion, dazu, habe den Fehler gefunden.
Das bedreifel' ich jetzt einfach mal.

Quote:
function disable(id) {
if(top && top.document && top.document.forms['posting'] &&
top.document.forms['posting'].elements[id]) {
if(document.getElementById &&
document.getElementById(id).checked==false)
top.document.forms['posting'].elements['vote_answers'].value=0;
else if(document.all && document.all[id].checked==false)
top.document.forms['posting'].elements['vote_answers'].value=0;
else if(document.layers && document.layers[id].checked==false)
top.document.forms['posting'].elements['vote_answers'].value=0;
Was soll denn das werden? Du willst doch spezielle DOM-Features wie
document.all usw. gar nicht benutzen, also wozu darauf testen? Teste
auf das, was Du benutzt; nicht mehr, nicht weniger.

<http://pointedears.de/scripts/test/whatami>, 2. Abschnitt.

Quote:
}
}

Doch wenn ich jetzt aktiviere oder deaktivierem jedes Mal wird der Input
auf 0 gestzt.
Ich gehe davon aus, dass sich Checkbox und Inputbox im selben Formular
befinden. Daher:

<script type="text/javascript">
function disable(o)
{
var o2;
if (o
&& (o2 = o.form)
&& (o2 = o2.elements)
&& (o2 = o2['posting']))
{
if (!o.checked)
{
o2.value = '0';
}
}
}
</script>

<form action="..." name="posting" ...>
<input type="checkbox" id="vote2" name="vote" value="on"
onclick="disable(this);"><label for="vote2">Umfrage
erstellen.</label>
<input name="vote_answers" ...>
</form>

Wie Du siehst, entfällt bei diesem Ansatz die Notwendigkeit,
dem form-Element einen Namen zu geben.

Übrigens: `<br />' ist kein gültiges HTML. (HTML kann nicht
"XHTML-kompatibel" gemacht werden.)


PointedEars
--
Entweder man ist konsequent oder inkonsequent.
Oder wenigstens konsequent inkonsequent.
-- ALF


Reply With Quote
  #4  
Old   
Thomas 'PointedEars' Lahn
 
Posts: n/a

Default Re: checkbox => input auf '0'. - 06-17-2005 , 01:16 PM



Hans Kästner wrote:
^
(Uncodierte) 8-bit-Zeichen in Headern sind pfui. <http://oe-faq.de/>

Quote:
Hier mal eine kleine Funktion, dazu, habe den Fehler gefunden.
Das bedreifel' ich jetzt einfach mal.

Quote:
function disable(id) {
if(top && top.document && top.document.forms['posting'] &&
top.document.forms['posting'].elements[id]) {
if(document.getElementById &&
document.getElementById(id).checked==false)
top.document.forms['posting'].elements['vote_answers'].value=0;
else if(document.all && document.all[id].checked==false)
top.document.forms['posting'].elements['vote_answers'].value=0;
else if(document.layers && document.layers[id].checked==false)
top.document.forms['posting'].elements['vote_answers'].value=0;
Was soll denn das werden? Du willst doch spezielle DOM-Features wie
document.all usw. gar nicht benutzen, also wozu darauf testen? Teste
auf das, was Du benutzt; nicht mehr, nicht weniger.

<http://pointedears.de/scripts/test/whatami>, 2. Abschnitt.

Quote:
}
}

Doch wenn ich jetzt aktiviere oder deaktivierem jedes Mal wird der Input
auf 0 gestzt.
Ich gehe davon aus, dass sich Checkbox und Inputbox im selben Formular
befinden. Daher:

<script type="text/javascript">
function disable(o)
{
var o2;
if (o
&& (o2 = o.form)
&& (o2 = o2.elements)
&& (o2 = o2['vote_answers']))
{
if (!o.checked)
{
o2.value = '0';
}
}
}
</script>

<form action="..." name="posting" ...>
<input type="checkbox" id="vote2" name="vote" value="on"
onclick="disable(this);"><label for="vote2">Umfrage
erstellen.</label>
<input name="vote_answers" ...>
</form>

Wie Du siehst, entfällt bei diesem Ansatz die Notwendigkeit,
dem form-Element einen Namen zu geben.

Übrigens: `<br />' ist kein gültiges HTML. (HTML kann nicht
"XHTML-kompatibel" gemacht werden.)


PointedEars
--
Entweder man ist konsequent oder inkonsequent.
Oder wenigstens konsequent inkonsequent.
-- ALF


Reply With Quote
Reply




Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off



Powered by vBulletin Version 3.5.4
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.