naar aanleiding van [rml][ JS] OnClick="...." bij "new Option()"[/rml]
Het script werkt perfect, totdat ik het probeerde in IE
het gebeuren word zo aangeropen:
die gaat dan naar deze:
die dan weer doorgaat naar het script wat de boel in het klembord pleurt:
Ik dacht dus eerst dat er iets mis was met het IE gedeelte van copy_clip() (het "if window.clipboardData" gedeelte dus) maar na wat nader onderzoek bleek dat IE helemaal niets met de onChange() doet
Is OnChange() soms iets alleen voor FF? of staat er toch wat fout in mijn code?
Is er misschien een andere manier om dit werkende te krijgen in IE (en dan natuurlijk ook za dat het blijft werken in FF
)?
Ik heb al wat gezocht maar heb niet echt relevante informatie kunnen vinden
Het script werkt perfect, totdat ik het probeerde in IE
het gebeuren word zo aangeropen:
JavaScript:
1
| <form name='frm' onChange="chkSelected();"> |
die gaat dan naar deze:
JavaScript:
1
2
3
4
5
6
| function chkSelected() { var lstText = "B-" + document.frm.result.options[document.frm.result.selectedIndex].text; copy_clip(lstText); } |
die dan weer doorgaat naar het script wat de boel in het klembord pleurt:
JavaScript:
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
| function copy_clip(text2copy) { var userAgent = self.navigator.userAgent; if (window.clipboardData) { window.clipboardData.setData("Text", text2copy); } else if ((userAgent.indexOf('Gecko') >= 0)) { netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect"); var clip = Components.classes['@mozilla.org/widget/clipboard;1'].createInstance(Components.interfaces.nsIClipboard); if (!clip) return; var trans = Components.classes['@mozilla.org/widget/transferable;1'].createInstance(Components.interfaces.nsITransferable); if (!trans) return; trans.addDataFlavor('text/unicode'); var str = new Object(); var len = new Object(); var str = Components.classes["@mozilla.org/supports-string;1"].createInstance(Components.interfaces.nsISupportsString); var copytext=text2copy; str.data=copytext; trans.setTransferData("text/unicode",str,copytext.length*2); var clipid=Components.interfaces.nsIClipboard; if (!clip) return false; clip.setData(trans,null,clipid.kGlobalClipboard); } } |
Ik dacht dus eerst dat er iets mis was met het IE gedeelte van copy_clip() (het "if window.clipboardData" gedeelte dus) maar na wat nader onderzoek bleek dat IE helemaal niets met de onChange() doet
JavaScript:
doet dus helemaal niets.1
| <form name='frm' onChange="alert('woei!');"> |
Is OnChange() soms iets alleen voor FF? of staat er toch wat fout in mijn code?
Is er misschien een andere manier om dit werkende te krijgen in IE (en dan natuurlijk ook za dat het blijft werken in FF
Ik heb al wat gezocht maar heb niet echt relevante informatie kunnen vinden