[js]inhou meerdere textfields naar clipboard in 1 buttonklik

Pagina: 1
Acties:
  • 325 views sinds 30-01-2008
  • Reageer

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Hoi,
Ik ben bezig een uitvraagtooltje in js/html te maken dat lokaal op een werkstation kan werken, dus zonder server. De bedoeling is dat een aantal textfields ingevuld worden, dan op een button drukken en dat de inhoud van deze textfields naar het clipboard gecopied worden, zodat het in een keer naar een incidenttool geplempd kan worden.

Een oplossing voor 1 text AREA kan ik wel bedenken/ vinden, iets in de trand van:

function ClipBoard()
{
holdtext.innerText = copytext.innerText;

Copied = test.select1.createTextRange();
Copied.execCommand("Copy");
}


Dit heb ik al werkend, maar het oog wil ook wat.

kan dit in js met meerdere textfields en een (1) button?

Acties:
  • 0 Henk 'm!

  • TeeDee
  • Registratie: Februari 2001
  • Laatst online: 17:37

TeeDee

CQB 241

Loopen?

@Wilke, lam om te zeggen, maar dat bedoelde ik eigenlijk ook.
code:
1
textveld = textveld + request(textveld)

[ Voor 90% gewijzigd door TeeDee op 18-08-2004 18:37 ]

Heart..pumps blood.Has nothing to do with emotion! Bored


Acties:
  • 0 Henk 'm!

  • Wilke
  • Registratie: December 2000
  • Laatst online: 12:21
Nee, want dan heb je uiteindelijk alleen de inhoud van het laatste tekstveld. Je moet de boel aan elkaar plakken en dat dan in de copy-buffer zetten. De vraag is dan dus hoe je (de inhoud van) textranges aan elkaar plakt tot 1 grote textrange, right?

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
inderdaad, (vergeten in eerste post te zetten) heb het al geprobeerd met meerdere textfields en kreeg toen idd alleen de inhoud van het laatste field te zien.

Acties:
  • 0 Henk 'm!

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 21:28

crisp

Devver

Pixelated

JavaScript:
1
2
var text = 'iets';
window.clipboardData.setData('Text', text);

zoiets?

let wel: IE only (Moz kan het ook - zij het op een andere manier, maar is nogal afhankelijk van security settings)

[ Voor 41% gewijzigd door crisp op 18-08-2004 19:25 ]

Intentionally left blank


Verwijderd

let wel: IE only (Moz kan het ook - zij het op een andere manier, maar is nogal afhankelijk van security settings)
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
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Untitled Document</title>
<script type="text/javascript">
//tester = document.getElementById('one');
var userAgent = self.navigator.userAgent;
function copy_clip(meintext)
{
 if (window.clipboardData) 
   {
   window.clipboardData.setData("Text", meintext);
   
   }
   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=meintext;
   
   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);
   
   }
   alert("Following info was copied to your clipboard:\n\n" + meintext);
   return false;
}
</script>
</head>

<body>
<textarea name="one" id="one">blaat 1</textarea>
<textarea name="two" id="two">blaat 2</textarea> 
<textarea name="three" id="three">blaat 3</textarea> 
<a href="#" onclick='copy_clip(document.getElementById("one").value +" "+
 document.getElementById("two").value+" "+ document.getElementById("three").value)'>copy</a>
</body>
</html

zoiets? :) Kan ongetwijfeld mooier, maar het werkt wel.

[ Voor 28% gewijzigd door Verwijderd op 19-08-2004 10:03 ]


  • crisp
  • Registratie: Februari 2000
  • Laatst online: 21:28

crisp

Devver

Pixelated

Verwijderd schreef op 19 augustus 2004 @ 09:50:
[...]

zoiets? :) Kan ongetwijfeld mooier, maar het werkt wel.
Ik heb thuis nog wel een mooi voorbeeldje liggen; zal vanavond eens kijken...

Intentionally left blank


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Verwijderd schreef op 19 augustus 2004 @ 09:50:
[...]

zoiets? :) Kan ongetwijfeld mooier, maar het werkt wel.
Top! _/-\o_

Ik ga kijken wat ik hiermee kan

Hardstikke bedankt, ik zat hier flink vast mee!

Acties:
  • 0 Henk 'm!

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 21:28

crisp

Devver

Pixelated

http://www.codebase.nl/index.php/command/viewcode/id/174

de code die Shadow333 heeft gepost is een rewrite van mijn code op codebase om data naar het clipboard te schrijven ipv uit te lezen en komt hier vandaan ;)

Intentionally left blank


Acties:
  • 0 Henk 'm!

Verwijderd

crisp schreef op 20 augustus 2004 @ 09:25:
de code die Shadow333 heeft gepost is een rewrite van mijn code op codebase om data naar het clipboard te schrijven ipv uit te lezen en komt hier vandaan ;)
idd :) had hem ook al gepost op het mozillazine forum. + de browser detectie veranderd, vond die nogal crappy.

[ Voor 7% gewijzigd door Verwijderd op 20-08-2004 10:11 ]

Pagina: 1