gruss czRIpper,
...
function uncheck(radio){
if (radiotype == radio){
klick = klick + 1;
if (klick % 2 == 0) {
radio.checked = false;
} else
radio.checked = true;
}else{
radiotype = radio;
}
}
> ...
> ~~~html
<input type="radio" name="radio" id="radio1" onclick="javascript:uncheck(radio1)">
> <input type="radio" name="radio" id="radio2" onclick="javascript:uncheck(radio2)">
-------------------------------------------------------^^^^^^^^^^^
das pseudoprotokoll >>javascript:<< hat in einem eventhandler nichts verloren.
ausserdem ist es schon aus gruenden der wartbarkeit und pflege nicht ratsam,
jedem element diesen handler explizit schon im html-code zuzuweisen.
deshalb versuch ich mich mal, nicht nur zu Deinem besten, sondern moeglichst zum
wohle aller, die spaeter ueber die archivsuche auf diesen thread stossen werden,
in einer *plug and play* loesung unter beruecksichtigung folgender quellen:
»Der sinnvolle Einsatz von JavaScript« - SELFHTML aktuell Weblog / Mathias Schäfer (molily) / 17.12.2005
»DOM-getter und array-iteratoren - scripte schneller entwickeln« - SELFHTML Forumsarchiv / peterS. / 13.03.2007
~~~javascript var enableRadiogroupUncheck = function () {
Array.filter(document.getElementsByTagName("input"), (function (elm/, idx, arr/) {
return (elm.type == "radio");
})).forEach(function (elm/, idx, arr/) {
elm.onclick = function () {
this.checked = !this.mostRecentlyChecked;
Array.filter(this.form.elements[this.name], (function (elm/, idx, arr/) {
return (elm.type == "radio");
})).forEach(function (elm/, idx, arr/) {
elm.mostRecentlyChecked = false;
});
this.mostRecentlyChecked = this.checked;
};
elm.mostRecentlyChecked = elm.checked;
});
};
if (window.addEventListener) {
window.addEventListener("load", enableRadiogroupUncheck, true);
} else if (window.attachEvent) {
window.attachEvent("onload", enableRadiogroupUncheck);
}
durch eingabe folgender zeile in die location-bar eines halbwegs modernen mozillas
(natuerlich auf einer formularseite), ist dieser ansatz auch sofort ueberpruefbar:
javascript:`(function () {Array.filter(document.getElementsByTagName("input"), (function (elm) {return (elm.type == "radio");})).forEach(function (elm) {elm.onclick = function () {this.checked = !this.mostRecentlyChecked;Array.filter(this.form.elements[this.name], (function (elm) {return (elm.type == "radio");})).forEach(function (elm) {elm.mostRecentlyChecked = false;});this.mostRecentlyChecked = this.checked;};elm.mostRecentlyChecked = elm.checked;});})();`{:.language-javascript}
so long - peterS. - pseliger@gmx.net
--
»Because objects in JavaScript are so flexible, you will want to think differently about class hierarchies.
Deep hierarchies are inappropriate. Shallow hierarchies are efficient and expressive.« - [Douglas Crockford](http://javascript.crockford.com/)
ie:( fl:) br:> va:( ls:& fo:) rl:| n3;} n4:} ss:} de:µ js:} mo:? zu:]