zen cart ]

「環境依存文字のチェック」や「半角カタカナを全角カタカナに変換」する javascript


 「会員登録」ページや「お問い合わせ」ページで顧客が半角カタカナや環境依存文字を入力をすると 文字化けの原因となってしまいます。
 これを回避する方法はいくつか考えられますが、ここではjavascriptを使って 「半角カタカナは全角カタカナへ変換」し、「機種依存文字は警告を表示」してみます。

更新: 2008/01/24 - 半角・全角変換に関するバグの修正

動作確認
  • zen cart: zen-cart-v1.3.0.2-l10n-jp-2
  • ブラウザ: IE6, IE7, firefox-2.0.0.9
インストール

以下の2つのファイルを「includes/templates/template_default/jscript/」ディレクトリに配置します。

jscript_charCheck.js
jscript_jisx0208.js

設定例(その1) - ログインページ

以下の2つのファイルを編集します。

includes/templates/template_default/templates/tpl_login_default.php 25行目
<?php } ?> <?php echo zen_draw_form('login', zen_href_link(FILENAME_LOGIN, 'action=process', 'SSL'), 'post', 'onsubmit="return CharCheck(this);"' ); ?> <fieldset>

43行目
<br class="clearBoth" /> <?php echo zen_draw_form('create_account', zen_href_link( FILENAME_CREATE_ACCOUNT, '', 'SSL'), 'post', 'onsubmit="return check_form(create_account) && CharCheck(this);"') . zen_draw_hidden_field('action', 'process') . zen_draw_hidden_field('email_pref_html', 'email_format'); ?> <fieldset>

includes/templates/template_default/templates/tpl_create_account_default.php
上の43行目に同じ

設定例(その2) - 「レビューを書く」ページ

以下のファイルを編集します。

includes/templates/template_default/templates/tpl_product_reviews_write_default.php 13行目
<div class="centerColumn" id="reviewsWrite"> <?php echo zen_draw_form('product_reviews_write', zen_href_link( FILENAME_PRODUCT_REVIEWS_WRITE, 'action=process&products_id=' . $_GET['products_id'], 'SSL'), 'post', 'onsubmit="return checkForm( product_reviews_write) && CharCheck(this);"'); ?> <!--bof Main Product Image -->

設定例(その3) - ヘッダー部分の「検索ボックス」

以下のファイルを編集します。

includes/templates/classic/sideboxes/tpl_search_header.php 12行目
$content = ""; $content .= zen_draw_form('quick_find_header', zen_href_link( FILENAME_ADVANCED_SEARCH_RESULT, '', 'NONSSL', false), 'get' , 'onsubmit="return CharCheck(this);"'); $content .= zen_draw_hidden_field('main_page', FILENAME_ADVANCED_SEARCH_RESULT);

参考
機種依存文字の文字コードの判定について
半角カタカナを全角カタカナに変える方法

from: 2007/11/20 - update: 2008/01/24
8