テキストボックスやテキストエリアに入力された文字列をクリップボードにコピーする Javascript です。
「文字列全体をドラッグして反転させてコピー」という手間が省けます。また、応用すれば文章をコピーすることも出来ます。
<フォーム>
<form name="Entry" action="xxxxx" method="post">
<input type="text" name="Text" id="Text" size="50" maxlength="50">
<input type="button" name="Copy" value="コピー" onClick="CopyText('Text');">
</form>
フォーム側の処理で3行目のボタンのクリックイベント「onClick="CopyText('Text');"」でコピーするオブジェクトを指定し、以下のスクリプトを呼びます。
<スクリプト>
<script language="JavaScript" type="text/JavaScript">
<!--
/****************************************************************
* 機 能: クリップボードにコピー
* 引 数: arg コピー元のオブジェクト
****************************************************************/
function CopyText(arg){
var obj=document.all && document.all(arg) || document.getElementById && document.getElementById(arg);
if (obj.value) {
var doc = document.body.createTextRange();
doc.moveToElementText(obj);
doc.execCommand("copy");
alert('クリップボードにコピーしました。');
} else {
alert('コピーするデータがありません。');
}
}
//-->
</script>
上記スクリプトを <head></head> の間に記述します。
未入力の場合はエラーメッセージが表示され、文字列があればクリップボードにコピーされ、完了メッセージが表示されます。