HTML [JavaScript] click value to clipboard und trotz UTF-8 umlaute Fehler

JavaBeginner

Ensign
Registriert
Juli 2015
Beiträge
142
Hey, bezüglich dem ersten Problem. Ich habe eine Tabelle mit einen "Button". Dieser "Button" besitzt einen Wert und diesen möchte ich beim klicken kopieren. Aus irgendeinem Grund wird dieser nie kopiert. Ich habe auf diversen Seiten lediglich Methoden gefunden wie man einen HTML-Text kopieren kann.
Code:
<a value="'.$col['value'].'" onclick="copyText(this.value);" class="btn btn-success btn-xs"><i class="glyphicon glyphicon-pencil">&nbsp;</i>Kopieren</a>



<script>
var copyText = function(val){
  var copyText = val;
  document.execCommand("copy");
};
</script>

Wert ist gesetzt, nur nicht so ganz kopierbar.
Was das Umlaute Problem angeht, ich bin schon etwas länger am rätseln weshalb diese nicht korrekt angezeigt werden obwohl das Format UTF-8 ist (überprüft). Jemand eine Idee woran das liegen könnte?[/CODE]
 
** Anker sind keine Buttons, besitzen keine VALUE-Attribute und können daher auch nicht über DOM angesprochen werden. Wenn Du einen Button haben möchtest, mußt Du auch BUTTON da hin schreiben. :)

** Zum Zweiten ist Clipboard-Zugriff so eine Sache. Damit kann man viel Müll bauen, ie der gemeine Webentwickler kann, mit Vollzugriff auf die Zwischenablage, Paßwörter erfahren, Zeug da reinschreiben und weiterleiten... kurz, Dinge tun, die er nicht tun soll(te) aus Sicht des Anwenders.

Ergo sind Browser auch restriktiv, wenn es um Systemzugriffe geht. Irgendwelchen Text kann man nicht kopieren, sondern nur ausgewählten Text und solchen, der vom Benutzer eingegeben und/oder verändert werden kann (contentEditable === true).

Was sich mir nicht ganz erschließt, ist, was Du überhaupt vorhast. Wenn das ein PHP-Script ist und ein FORM übergeben wird (egal wie) dann brauchst Du nichts auf der Clientseite, sondern Du verwendest einfach das, was der Client Dir (an den Server) geliefert hat und wenn nötig, schickst Du das dann wieder zurück an den Client; falls nötig, irgendwie angepaßt.



Was die Codierung angeht, keine Ahnung, was Du da schon versucht hast, wo das Ganze läuft, und wann und wo das Problem genau auftritt... daher nur so viel:

- ALLE beteiligten Komponenten müssen dieselbe Codierung verwenden und auch ausweisen => Datei als UTF8 speichern, Response.Charset (bzw Äquivalent) auf UTF8 setzen, unter Windows das Ganze mit BOM speichern (dort gibt's Erkennungsprobleme, wenn das BOM nicht vorhanden ist). Wenn Daten durchgereicht werden, müssen alle Dateien, die beim Reichen helfen, ebenfalls UTF8 sein ODER Du mußt zwischendrin Codierungen konvertieren.

Im Zweifel überall mal ein Echo dazwischen setzen, gerne auch mit urlencode() dazwischen, dann sieht man recht schnell, wo das Problem auftritt.
 
Utf-8 bitte ohne BOM speichern, sonst gibt es Probleme mit PHP. Unter Windows ist das kein Problem, das wird mit oder ohne erkannt.
 
Zurück
Oben