de situatie:
Ik heb een site die uit frames bestaat (boven=titelbalk, links=menu, rechts=main). Nu heb ik op een van mijn pagina's een formskinner gezet (om radiobuttons te veranderen in .png). dat script doet het perfect, maar elke keer ik naar die pagina ben geweest en klik in de menu op een andere link dan opent hij die in een nieuwe window. Dat is dus niet de bedoeling, ze moet openen in de 'main'. Het is ook alleen maar als je eerst naar de pagina gaat met de formskinner.
Weet iemand wat hier de reden voor is?
formskinner wordt hiermee ingelezen:
<SCRIPT language="JavaScript" src="formskinner.js"></SCRIPT>
formskinner wordt hiermee geladen:
<body onLoad="formSkinner()">
formskinner.js code
De geintresseerden hebben ineens een scriptje om radiobuttons mooi te maken
Ik heb een site die uit frames bestaat (boven=titelbalk, links=menu, rechts=main). Nu heb ik op een van mijn pagina's een formskinner gezet (om radiobuttons te veranderen in .png). dat script doet het perfect, maar elke keer ik naar die pagina ben geweest en klik in de menu op een andere link dan opent hij die in een nieuwe window. Dat is dus niet de bedoeling, ze moet openen in de 'main'. Het is ook alleen maar als je eerst naar de pagina gaat met de formskinner.
Weet iemand wat hier de reden voor is?
formskinner wordt hiermee ingelezen:
<SCRIPT language="JavaScript" src="formskinner.js"></SCRIPT>
formskinner wordt hiermee geladen:
<body onLoad="formSkinner()">
formskinner.js code
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
| // define regular expressions
inputreg=new RegExp('(<INPUT.+?type=)(\"|\'|)(.+?)(\"|\'| |)( .+?>|>)','ig');
namereg=new RegExp('name=(\"|\'|)(.+?)(\"|\'| |>)','i');
valuereg=new RegExp('value=(\"|\'|)(.+?)(\"|\'| |>)','i');
checkedreg=new RegExp('checked','i');
radiobuttongroups=new Array();
/*********************************
* Skinned Radiobutton Functions
*********************************/
function SRset() {
this.parent.group.set(this.parent.value);
}
function SkinnedRadiobutton(value,group) {
this.value=value;
this.group=group;
}
function SRGadd(value) {
this.radiobuttons[this.id+value]=new SkinnedRadiobutton(value,this);
}
function SRGreset() {
this.set(this.startvalue);
}
function SRGset(value) {
if (this.finalized) {
if ( this.value!=value ) {
if ( value!="" ) {
if ( this.value!="") this.radiobuttons[this.id+this.value].image.src='radiobutton_off.png';
this.radiobuttons[this.id+value].image.src='radiobutton_on.png';
} else {
this.radiobuttons[this.id+this.value].image.src='radiobutton_off.png';
}
}
this.input.value=value;
}
this.value=value;
}
function SRGfinalize() {
for ( rbname in this.radiobuttons ) {
this.radiobuttons[rbname].image=document.getElementById(rbname+'Img');
if ( this.value==this.radiobuttons[rbname].value ) {
this.radiobuttons[rbname].image.src='radiobutton_on.png';
}
this.radiobuttons[rbname].image.parent=this.radiobuttons[rbname];
this.radiobuttons[rbname].image.onclick=SRset;
}
this.input=document.getElementById(this.id+'Inp');
this.input.value=this.value;
this.finalized=true;
}
function SkinnedRadiobuttonGroup(id) {
this.id=id;
this.value="";
this.startvalue="";
this.radiobuttons=new Array();
this.finalized=false;
}
SkinnedRadiobuttonGroup.prototype.addRadiobutton=SRGadd;
SkinnedRadiobuttonGroup.prototype.reset=SRGreset;
SkinnedRadiobuttonGroup.prototype.set=SRGset;
SkinnedRadiobuttonGroup.prototype.finalize=SRGfinalize;
function makeSkinnedRadiobuttonGroup(id) {
radiobuttongroups[id]=new SkinnedRadiobuttonGroup(id);
}
/*********************************
* Start skin
*********************************/
function formSkinner() {
forms=document.getElementsByTagName('FORM');
for ( var i=0;i<forms.length;i++ ) {
while ( matcharray=inputreg.exec(forms[i].innerHTML) ) {
name="";
//alert( matcharray[0] );
if ( namereg.test(matcharray[0]) ) name=namereg.exec(matcharray[0])[2];
if ( matcharray[3]=='radio' ) {
// Skin Radiobuttons
value=valuereg.exec(matcharray[0])[2];
if ( !radiobuttongroups[name] || radiobuttongroups[name]=='undefined') {
forms[i].innerHTML=forms[i].innerHTML.replace(matcharray[0],'<INPUT type="hidden" name="'+name+'" value="" id="'+name+'Inp">[img]"radiobutton_off.png"[/img]');
makeSkinnedRadiobuttonGroup(name);
} else {
forms[i].innerHTML=forms[i].innerHTML.replace(matcharray[0],'[img]"radiobutton_off.png"[/img]');
}
radiobuttongroups[name].addRadiobutton(value);
if ( checkedreg.test(matcharray[0]) ) {
radiobuttongroups[name].set(value);
radiobuttongroups[name].startvalue=value;
}
}
}
}
initEvents();
}
/*********************************
* Finalize skin
*********************************/
function initEvents() {
var dummy=null;
var dummyarray=new Array();
for ( rbgname in radiobuttongroups ) {
radiobuttongroups[rbgname].finalize();
}
} |
De geintresseerden hebben ineens een scriptje om radiobuttons mooi te maken