[Svn-src-all:4273] [version-2_13_0 23187] #2348 r23171 - r23176 r23178 - r23180 をマージ

h_yoshimoto admin @ mail.ec-cube.net
2013年 9月 4日 (水) 14:34:12 JST


Subversion committed to /home/svn/open 23187
http://svn.ec-cube.net/open_trac/changeset/23187
┌────────────────────────────┐
│更新者 :  h_yoshimoto                                  │
│更新日時:  2013-09-04 14:34:12 +0900 (水, 04  9月 2013)│
└────────────────────────────┘

Log:
--------------------------------------------------------
#2348 r23171 - r23176 r23178 - r23180 をマージ

Changed:                      [U:修正,A:追加,D:削除]
--------------------------------------------------------
U   branches/version-2_13_0/data/Smarty/templates/default/shopping/confirm.tpl
D   branches/version-2_13_0/data/Smarty/templates/mobile/frontparts/bloc/guide.tpl
U   branches/version-2_13_0/data/Smarty/templates/sphone/frontparts/form_personal_confirm.tpl
U   branches/version-2_13_0/data/Smarty/templates/sphone/frontparts/form_personal_input.tpl
U   branches/version-2_13_0/data/class/SC_Product.php
U   branches/version-2_13_0/data/class/pages/shopping/LC_Page_Shopping.php
U   branches/version-2_13_0/html/js/eccube.js
U   branches/version-2_13_0/html/user_data/packages/sphone/js/jquery.autoResizeTextAreaQ-0.1.js

変更: branches/version-2_13_0/data/Smarty/templates/default/shopping/confirm.tpl
===================================================================
--- branches/version-2_13_0/data/Smarty/templates/default/shopping/confirm.tpl	2013-09-04 01:44:36 UTC (rev 23186)
+++ branches/version-2_13_0/data/Smarty/templates/default/shopping/confirm.tpl	2013-09-04 05:34:12 UTC (rev 23187)
@@ -181,7 +181,66 @@
                 <col width="30%" />
                 <col width="70%" />
                 <tbody>
-                <!--{include file="`$smarty.const.TEMPLATE_REALDIR`frontparts/form_personal_confirm.tpl" flgFields=2 emailMobile=false prefix="order_"}-->
+                    <tr>
+                        <th scope="row">お名前</th>
+                        <td><!--{$arrForm.order_name01|h}--> <!--{$arrForm.order_name02|h}--></td>
+                    </tr>
+                    <tr>
+                        <th scope="row">お名前(フリガナ)</th>
+                        <td><!--{$arrForm.order_kana01|h}--> <!--{$arrForm.order_kana02|h}--></td>
+                    </tr>
+                    <tr>
+                        <th scope="row">会社名</th>
+                        <td><!--{$arrForm.order_company_name|h}--></td>
+                    </tr>
+                    <!--{if $smarty.const.FORM_COUNTRY_ENABLE}-->
+                    <tr>
+                        <th scope="row">国</th>
+                        <td><!--{$arrCountry[$arrForm.order_country_id]|h}--></td>
+                    </tr>
+                    <tr>
+                        <th scope="row">ZIPCODE</th>
+                        <td><!--{$arrForm.order_zipcode|h}--></td>
+                    </tr>
+                    <!--{/if}-->
+                    <tr>
+                        <th scope="row">郵便番号</th>
+                        <td>〒<!--{$arrForm.order_zip01|h}-->-<!--{$arrForm.order_zip02|h}--></td>
+                    </tr>
+                    <tr>
+                        <th scope="row">住所</th>
+                        <td><!--{$arrPref[$arrForm.order_pref]}--><!--{$arrForm.order_addr01|h}--><!--{$arrForm.order_addr02|h}--></td>
+                    </tr>
+                    <tr>
+                        <th scope="row">電話番号</th>
+                        <td><!--{$arrForm.order_tel01}-->-<!--{$arrForm.order_tel02}-->-<!--{$arrForm.order_tel03}--></td>
+                    </tr>
+                    <tr>
+                        <th scope="row">FAX番号</th>
+                        <td>
+                            <!--{if $arrForm.order_fax01 > 0}-->
+                                <!--{$arrForm.order_fax01}-->-<!--{$arrForm.order_fax02}-->-<!--{$arrForm.order_fax03}-->
+                            <!--{/if}-->
+                        </td>
+                    </tr>
+                    <tr>
+                        <th scope="row">メールアドレス</th>
+                        <td><!--{$arrForm.order_email|h}--></td>
+                    </tr>
+                    <tr>
+                        <th scope="row">性別</th>
+                        <td><!--{$arrSex[$arrForm.order_sex]|h}--></td>
+                    </tr>
+                    <tr>
+                        <th scope="row">職業</th>
+                        <td><!--{$arrJob[$arrForm.order_job]|default:'(未登録)'|h}--></td>
+                    </tr>
+                    <tr>
+                        <th scope="row">生年月日</th>
+                        <td>
+                            <!--{$arrForm.order_birth|regex_replace:"/ .+/":""|regex_replace:"/-/":"/"|default:'(未登録)'|h}-->
+                        </td>
+                    </tr>
                 </tbody>
             </table>
 

削除: branches/version-2_13_0/data/Smarty/templates/mobile/frontparts/bloc/guide.tpl
===================================================================
変更: branches/version-2_13_0/data/Smarty/templates/sphone/frontparts/form_personal_confirm.tpl
===================================================================
--- branches/version-2_13_0/data/Smarty/templates/sphone/frontparts/form_personal_confirm.tpl	2013-09-04 01:44:36 UTC (rev 23186)
+++ branches/version-2_13_0/data/Smarty/templates/sphone/frontparts/form_personal_confirm.tpl	2013-09-04 05:34:12 UTC (rev 23187)
@@ -61,9 +61,10 @@
         <!--{assign var=key2 value="`$prefix`zip02"}-->
         〒 <!--{$arrForm[$key1].value|h}--> - <!--{$arrForm[$key2].value|h}--><br />
         <!--{assign var=key1 value="`$prefix`pref"}-->
+        <!--{assign var=key_pref value="`$arrForm[$key1].value`"}-->
         <!--{assign var=key2 value="`$prefix`addr01"}-->
         <!--{assign var=key3 value="`$prefix`addr02"}-->
-        <!--{$arrPref[$arrForm[$key1].value]|h}--><!--{$arrForm[$key2].value|h}--><!--{$arrForm[$key3].value|h}-->
+        <!--{$arrPref[$key_pref]|h}--><!--{$arrForm[$key2].value|h}--><!--{$arrForm[$key3].value|h}-->
     </dd>
     <dt>電話番号</dt>
     <dd>

変更: branches/version-2_13_0/data/Smarty/templates/sphone/frontparts/form_personal_input.tpl
===================================================================
--- branches/version-2_13_0/data/Smarty/templates/sphone/frontparts/form_personal_input.tpl	2013-09-04 01:44:36 UTC (rev 23186)
+++ branches/version-2_13_0/data/Smarty/templates/sphone/frontparts/form_personal_input.tpl	2013-09-04 05:34:12 UTC (rev 23187)
@@ -29,8 +29,8 @@
     <!--{if $arrErr[$key1] || $arrErr[$key2]}-->
         <div class="attention"><!--{$arrErr[$key1]}--><!--{$arrErr[$key2]}--></div>
     <!--{/if}-->
-    <input type="text" name="<!--{$key1}-->" value="<!--{$arrForm[$key1].value|h}-->" maxlength="<!--{$arrForm[$key1].length}-->" class="boxHarf text data-role-none" placeholder="姓" />&nbsp;&nbsp;
-    <input type="text" name="<!--{$key2}-->" value="<!--{$arrForm[$key2].value|h}-->" maxlength="<!--{$arrForm[$key2].length}-->" class="boxHarf text data-role-none" placeholder="名" />
+    <input type="text" name="<!--{$key1}-->" value="<!--{$arrForm[$key1].value|h}-->" maxlength="<!--{$arrForm[$key1].length}-->" style="<!--{$arrErr[$key1]|sfGetErrorColor}-->" class="boxHarf text data-role-none" placeholder="姓" />&nbsp;&nbsp;
+    <input type="text" name="<!--{$key2}-->" value="<!--{$arrForm[$key2].value|h}-->" maxlength="<!--{$arrForm[$key2].length}-->" style="<!--{$arrErr[$key2]|sfGetErrorColor}-->" class="boxHarf text data-role-none" placeholder="名" />
 </dd>
 
 <dt>お名前(フリガナ)&nbsp;<span class="attention">※</span></dt>
@@ -40,7 +40,7 @@
     <!--{if $arrErr[$key1] || $arrErr[$key2]}-->
         <div class="attention"><!--{$arrErr[$key1]}--><!--{$arrErr[$key2]}--></div>
     <!--{/if}-->
-    <input type="text" name="<!--{$key1}-->" value="<!--{$arrForm[$key1].value|h}-->" maxlength="<!--{$arrForm[$key1].length}-->" class="boxHarf text data-role-none" placeholder="セイ"/>&nbsp;&nbsp;<input type="text" name="<!--{$key2}-->" value="<!--{$arrForm[$key2].value|h}-->" maxlength="<!--{$arrForm[$key2].length}-->" class="boxHarf text data-role-none" placeholder="メイ"/>
+    <input type="text" name="<!--{$key1}-->" value="<!--{$arrForm[$key1].value|h}-->" maxlength="<!--{$arrForm[$key1].length}-->" style="<!--{$arrErr[$key1]|sfGetErrorColor}-->" class="boxHarf text data-role-none" placeholder="セイ"/>&nbsp;&nbsp;<input type="text" name="<!--{$key2}-->" value="<!--{$arrForm[$key2].value|h}-->" maxlength="<!--{$arrForm[$key2].length}-->" style="<!--{$arrErr[$key2]|sfGetErrorColor}-->" class="boxHarf text data-role-none" placeholder="メイ"/>
 </dd>
 
 <dt>郵便番号&nbsp;<span class="attention">※</span></dt>
@@ -53,7 +53,7 @@
     <!--{if $arrErr[$key1] || $arrErr[$key2]}-->
         <div class="attention"><!--{$arrErr[$key1]}--><!--{$arrErr[$key2]}--></div>
     <!--{/if}-->
-    <p><input type="tel" name="<!--{$key1}-->" value="<!--{$arrForm[$key1].value|h}-->" maxlength="<!--{$arrForm[$key1].length}-->" class="boxShort text data-role-none" />&nbsp;−&nbsp;<input type="tel" name="<!--{$key2}-->" value="<!--{$arrForm[$key2].value|h}-->" maxlength="<!--{$arrForm[$key2].length}-->" class="boxShort text data-role-none" />&nbsp;&nbsp;<a href="http://search.post.japanpost.jp/zipcode/" target="_blank" rel="external"><span class="fn">郵便番号検索</span></a></p>
+    <p><input type="tel" name="<!--{$key1}-->" value="<!--{$arrForm[$key1].value|h}-->" maxlength="<!--{$arrForm[$key1].length}-->" style="<!--{$arrErr[$key1]|sfGetErrorColor}-->" class="boxShort text data-role-none" />&nbsp;−&nbsp;<input type="tel" name="<!--{$key2}-->" value="<!--{$arrForm[$key2].value|h}-->" maxlength="<!--{$arrForm[$key2].length}-->" style="<!--{$arrErr[$key2]|sfGetErrorColor}-->" class="boxShort text data-role-none" />&nbsp;&nbsp;<a href="http://search.post.japanpost.jp/zipcode/" target="_blank" rel="external"><span class="fn">郵便番号検索</span></a></p>
 
     <a href="javascript:eccube.getAddress('<!--{$smarty.const.INPUT_ZIP_URLPATH}-->', '<!--{$key1}-->', '<!--{$key2}-->', '<!--{$key3}-->', '<!--{$key4}-->');" class="btn_sub btn_inputzip">郵便番号から住所自動入力</a>
 </dd>
@@ -68,8 +68,8 @@
         <!--{html_options options=$arrPref selected=$arrForm[$key3].value}-->
     </select>
 
-    <input type="text" name="<!--{$key4}-->" value="<!--{$arrForm[$key4].value|h}-->" class="boxLong text top data-role-none" placeholder="市区町村名" />
-    <input type="text" name="<!--{$key5}-->" value="<!--{$arrForm[$key5].value|h}-->" class="boxLong text data-role-none" placeholder="番地・ビル名" />
+    <input type="text" name="<!--{$key4}-->" value="<!--{$arrForm[$key4].value|h}-->" style="<!--{$arrErr[$key4]|sfGetErrorColor}-->" class="boxLong text top data-role-none" placeholder="市区町村名" />
+    <input type="text" name="<!--{$key5}-->" value="<!--{$arrForm[$key5].value|h}-->" style="<!--{$arrErr[$key5]|sfGetErrorColor}-->" class="boxLong text data-role-none" placeholder="番地・ビル名" />
 </dd>
 
 <dt>電話番号&nbsp;<span class="attention">※</span></dt>
@@ -80,7 +80,7 @@
     <!--{if $arrErr[$key1] || $arrErr[$key2] || $arrErr[$key3]}-->
         <div class="attention"><!--{$arrErr[$key1]}--><!--{$arrErr[$key2]}--><!--{$arrErr[$key3]}--></div>
     <!--{/if}-->
-    <input type="tel" name="<!--{$key1}-->" value="<!--{$arrForm[$key1].value|h}-->" maxlength="<!--{$arrForm[$key1].length}-->" class="boxShort text data-role-none" />&nbsp;−&nbsp;<input type="tel" name="<!--{$key2}-->" value="<!--{$arrForm[$key2].value|h}-->" maxlength="<!--{$arrForm[$key2].length}-->" class="boxShort text data-role-none" />&nbsp;−&nbsp;<input type="tel" name="<!--{$key3}-->" value="<!--{$arrForm[$key3].value|h}-->" maxlength="<!--{$arrForm[$key3].length}-->" class="boxShort text data-role-none" />
+    <input type="tel" name="<!--{$key1}-->" value="<!--{$arrForm[$key1].value|h}-->" maxlength="<!--{$arrForm[$key1].length}-->" style="<!--{$arrErr[$key1]|sfGetErrorColor}-->" class="boxShort text data-role-none" />&nbsp;−&nbsp;<input type="tel" name="<!--{$key2}-->" value="<!--{$arrForm[$key2].value|h}-->" maxlength="<!--{$arrForm[$key2].length}-->" style="<!--{$arrErr[$key2]|sfGetErrorColor}-->" class="boxShort text data-role-none" />&nbsp;−&nbsp;<input type="tel" name="<!--{$key3}-->" value="<!--{$arrForm[$key3].value|h}-->" maxlength="<!--{$arrForm[$key3].length}-->" style="<!--{$arrErr[$key3]|sfGetErrorColor}-->" class="boxShort text data-role-none" />
 </dd>
 
 <dt>FAX</dt>
@@ -91,7 +91,7 @@
     <!--{if $arrErr[$key1] || $arrErr[$key2] || $arrErr[$key3]}-->
         <div class="attention"><!--{$arrErr[$key1]}--><!--{$arrErr[$key2]}--><!--{$arrErr[$key3]}--></div>
     <!--{/if}-->
-    <input type="tel" name="<!--{$key1}-->" value="<!--{$arrForm[$key1].value|h}-->" maxlength="<!--{$arrForm[$key1].length}-->" class="boxShort text data-role-none" />&nbsp;−&nbsp;<input type="tel" name="<!--{$key2}-->" value="<!--{$arrForm[$key2].value|h}-->" maxlength="<!--{$arrForm[$key2].length}-->" class="boxShort text data-role-none" />&nbsp;−&nbsp;<input type="tel" name="<!--{$key3}-->" value="<!--{$arrForm[$key3].value|h}-->" maxlength="<!--{$arrForm[$key3].length}-->" class="boxShort text data-role-none" />
+    <input type="tel" name="<!--{$key1}-->" value="<!--{$arrForm[$key1].value|h}-->" maxlength="<!--{$arrForm[$key1].length}-->" style="<!--{$arrErr[$key1]|sfGetErrorColor}-->" class="boxShort text data-role-none" />&nbsp;−&nbsp;<input type="tel" name="<!--{$key2}-->" value="<!--{$arrForm[$key2].value|h}-->" maxlength="<!--{$arrForm[$key2].length}-->" style="<!--{$arrErr[$key2]|sfGetErrorColor}-->" class="boxShort text data-role-none" />&nbsp;−&nbsp;<input type="tel" name="<!--{$key3}-->" value="<!--{$arrForm[$key3].value|h}-->" maxlength="<!--{$arrForm[$key3].length}-->" style="<!--{$arrErr[$key3]|sfGetErrorColor}-->" class="boxShort text data-role-none" />
 </dd>
 
 <!--{if $flgFields > 1}-->
@@ -103,8 +103,8 @@
         <!--{if $arrErr[$key1] || $arrErr[$key2]}-->
             <div class="attention"><!--{$arrErr[$key1]}--><!--{$arrErr[$key2]}--></div>
         <!--{/if}-->
-        <input type="email" name="<!--{$key1}-->" value="<!--{$arrForm[$key1].value|h}-->" class="boxLong text top data-role-none" />
-        <input type="email" name="<!--{$key2}-->" value="<!--{$arrForm[$key2].value|h}-->" class="boxLong text data-role-none" placeholder="確認のため2回入力してください" />
+        <input type="email" name="<!--{$key1}-->" value="<!--{$arrForm[$key1].value|h}-->" style="<!--{$arrErr[$key1]|sfGetErrorColor}-->" class="boxLong text top data-role-none" />
+        <input type="email" name="<!--{$key2}-->" value="<!--{$arrForm[$key2].value|h}-->" style="<!--{$arrErr[$key2]|sfGetErrorColor}-->" class="boxLong text data-role-none" placeholder="確認のため2回入力してください" />
     </dd>
 
     <!--{if $emailMobile}-->
@@ -115,8 +115,8 @@
             <!--{if $arrErr[$key1] || $arrErr[$key2]}-->
                 <div class="attention"><!--{$arrErr[$key1]}--><!--{$arrErr[$key2]}--></div>
             <!--{/if}-->
-            <input type="email" name="<!--{$key1}-->" value="<!--{$arrForm[$key1].value|h}-->" class="boxLong text top data-role-none" />
-            <input type="email" name="<!--{$key2}-->" value="<!--{$arrForm[$key2].value|h}-->" class="boxLong text data-role-none" placeholder="確認のため2回入力してください" />
+            <input type="email" name="<!--{$key1}-->" value="<!--{$arrForm[$key1].value|h}-->" style="<!--{$arrErr[$key1]|sfGetErrorColor}-->" class="boxLong text top data-role-none" />
+            <input type="email" name="<!--{$key2}-->" value="<!--{$arrForm[$key2].value|h}-->" style="<!--{$arrErr[$key2]|sfGetErrorColor}-->" class="boxLong text data-role-none" placeholder="確認のため2回入力してください" />
         </dd>
     <!--{/if}-->
 
@@ -126,9 +126,9 @@
         <!--{if $arrErr[$key1]}-->
             <div class="attention"><!--{$arrErr[$key1]}--></div>
         <!--{/if}-->
-        <span style="<!--{$arrErr[$key1]|sfGetErrorColor}-->">
+        <p style="<!--{$arrErr[$key1]|sfGetErrorColor}-->">
             <!--{html_radios name=$key1 options=$arrSex selected=$arrForm[$key1].value separator='&nbsp;&nbsp;'}-->
-        </span>
+        </p>
     </dd>
 
     <dt>職業</dt>
@@ -137,7 +137,7 @@
         <!--{if $arrErr[$key1]}-->
             <div class="attention"><!--{$arrErr[$key1]}--></div>
         <!--{/if}-->
-        <select name="<!--{$key1}-->" class="boxLong data-role-none">
+        <select name="<!--{$key1}-->" style="<!--{$arrErr[$key1]|sfGetErrorColor}-->" class="boxLong data-role-none">
             <option value="">選択してください</option>
             <!--{html_options options=$arrJob selected=$arrForm[$key1].value}-->
         </select>
@@ -188,7 +188,7 @@
                 <!--{html_options options=$arrReminder selected=$arrForm[$key1].value}-->
             </select>
 
-            <input type="text" name="<!--{$key2}-->" value="<!--{$arrForm[$key2].value|h}-->" class="boxLong text data-role-none" placeholder="質問の答えを入力してください" />
+            <input type="text" name="<!--{$key2}-->" value="<!--{$arrForm[$key2].value|h}-->" style="<!--{$arrErr[$key2]|sfGetErrorColor}-->" class="boxLong text data-role-none" placeholder="質問の答えを入力してください" />
         </dd>
 
         <dt>メールマガジン&nbsp;<span class="attention">※</span></dt>

変更: branches/version-2_13_0/data/class/SC_Product.php
===================================================================
--- branches/version-2_13_0/data/class/SC_Product.php	2013-09-04 01:44:36 UTC (rev 23186)
+++ branches/version-2_13_0/data/class/SC_Product.php	2013-09-04 05:34:12 UTC (rev 23187)
@@ -77,7 +77,6 @@
     {
         $table = 'dtb_products AS alldtl';
 
-        $objQuery->setGroupBy('alldtl.product_id');
         if (is_array($this->arrOrderData) and $objQuery->order == '') {
             $o_col = $this->arrOrderData['col'];
             $o_table = $this->arrOrderData['table'];

変更: branches/version-2_13_0/data/class/pages/shopping/LC_Page_Shopping.php
===================================================================
--- branches/version-2_13_0/data/class/pages/shopping/LC_Page_Shopping.php	2013-09-04 01:44:36 UTC (rev 23186)
+++ branches/version-2_13_0/data/class/pages/shopping/LC_Page_Shopping.php	2013-09-04 05:34:12 UTC (rev 23187)
@@ -389,6 +389,8 @@
      */
     public function lfCheckError(&$objFormParam)
     {
+        $arrParams = $objFormParam->getHashArray();
+
         $objErr = SC_Helper_Customer_Ex::sfCustomerCommonErrorCheck($objFormParam, 'order_');
 
         // 別のお届け先チェック

変更: branches/version-2_13_0/html/js/eccube.js
===================================================================
--- branches/version-2_13_0/html/js/eccube.js	2013-09-04 01:44:36 UTC (rev 23186)
+++ branches/version-2_13_0/html/js/eccube.js	2013-09-04 05:34:12 UTC (rev 23187)
@@ -193,39 +193,55 @@
             ret = true;
         }
         if (ret) {
-            var formElement = $("form#" + form);
-            formElement.find("*[name=" + key + "]").val(val);
-            formElement.submit();
+            var values = {};
+            values[key] = val;
+            eccube.submitForm(values, form);
         }
         return false;
     };
 
     eccube.setValue = function(key, val, form) {
-        if (typeof form === 'undefined') {
-            form = eccube.defaults.formId;
-        }
-        var formElement = $("form#" + form);
+        var formElement = eccube.getFormElement(form);
         formElement.find("*[name=" + key + "]").val(val);
     };
 
-    eccube.changeAction = function(url) {
-        document['form1'].action = url;
+    eccube.changeAction = function(url, form) {
+        var formElement = eccube.getFormElement(form);
+        formElement.attr("action", url);
     };
 
     // ページナビで使用する。
     eccube.movePage = function(pageno, mode, form) {
-        if (form === undefined) {
-            form = eccube.defaults.formId;
-        }
-        var formElement = $("form#" + form);
-        formElement.find("input[name=pageno]").val(pageno);
+        var values = {pageno: pageno};
         if (mode !== undefined) {
-            formElement.find("input[name='mode']").val(mode);
+            values.mode = mode;
         }
+        eccube.submitForm(values, form);
+    };
+
+    /**
+     * フォームを送信する.
+     *
+     * @param values
+     * @param form
+     */
+    eccube.submitForm = function(values, form){
+        var formElement = eccube.getFormElement(form);
+        if (values !== undefined && typeof values === "object") {
+            $.each(values, function(index, value) {
+                eccube.setValue(index, value, formElement);
+            });
+        }
         formElement.submit();
     };
 
-    eccube.submitForm = function(values, form){
+    /**
+     * フォームを特定してエレメントを返す.
+     *
+     * @param form
+     * @returns {*}
+     */
+    eccube.getFormElement = function(form){
         var formElement;
         if (form !== undefined && typeof form === "string" && form !== "") {
             formElement = $("form#" + form);
@@ -234,12 +250,7 @@
         } else {
             formElement = $("form#" + eccube.defaults.formId);
         }
-        if (values !== undefined && typeof values === "object") {
-            $.each(values, function(index, value) {
-                formElement.find("input,select").filter("[name='" + index + "']").val(value);
-            });
-        }
-        formElement.submit();
+        return formElement;
     };
 
     // ポイント入力制限。

変更: branches/version-2_13_0/html/user_data/packages/sphone/js/jquery.autoResizeTextAreaQ-0.1.js
===================================================================
--- branches/version-2_13_0/html/user_data/packages/sphone/js/jquery.autoResizeTextAreaQ-0.1.js	2013-09-04 01:44:36 UTC (rev 23186)
+++ branches/version-2_13_0/html/user_data/packages/sphone/js/jquery.autoResizeTextAreaQ-0.1.js	2013-09-04 05:34:12 UTC (rev 23187)
@@ -1 +1,121 @@
-/* * jQuery autoResizeTextAreaQ plugin * @requires jQuery v1.4.2 or later * * Copyright (c) 2010 M. Brown (mbrowniebytes A gmail.com) * Licensed under the Revised BSD license: * http://www.opensource.org/licenses/bsd-license.php * http://en.wikipedia.org/wiki/BSD_licenses  * * Versions: * 0.1 - 2010-07-21 *       initial *  * usage: *  $(document).ready( function() { *      $('textarea').autoResizeTextAreaQ({"max_rows":8}); *  }); * */(function($) {	$.fn.autoResizeTextAreaQ = function(options) {	var opts = $.extend({		// ya prob want to use		max_rows: 10,	// # - max rows to resize too				// ya may want to use, but defaults should be ok		extra_rows: 1,  // # - nbr extra rows after last line ie padding; 0|1 optimal				// ya should really specify in html		rows: null,		// null|# - null infer from html; # override html		cols: null,		// null|# - null infer from html; # override html				debug: false	// true|false - turn on|off console.log()	}, options);		// extra padding based on browser	if ($.browser.msie) {		opts.extra_rows += 1;	} else if ($.browser.webkit) {		opts.extra_rows += 1;	} // else $.browser.mozilla				// iterate over passed in selector, only process actual textareas	return $(this).filter('textarea').each(function(index) {		var ta = $(this);		var orig = {};				// textarea rows cols current state		if (opts.cols != null && opts.cols > 0) {							ta.attr('cols', opts.cols);		}		orig.cols = ta.attr('cols');							if (opts.rows != null && opts.rows > 0) {							ta.attr('rows', opts.rows);		}		orig.rows = ta.attr('rows');				// validate max extra_rows		if (opts.max_rows == null || opts.max_rows < orig.rows) {			opts.max_rows = orig.rows;		}		if (opts.extra_rows == null || opts.extra_rows < 0) {			opts.extra_rows = 0;		}				if (opts.debug) {			console.log('opts: ', opts, ' orig: ', orig);		}		// resize textares on load		resize(ta, orig);				// check resize on key input		ta.bind('keyup', function(e) {			resize(ta, orig);		});				}); // end each()	function resize(ta, orig) {				// nbr explicit rows		var nl_rows = ta.val().split('\n');				// nbr inferred rows		var nbr_ta_rows = 0;					for (index in nl_rows) {			// overly simple check to account for text being auto wrapped and thus a new line			nbr_ta_rows += Math.floor((nl_rows[index].length / orig.cols)) + 1;		}				// get final nbr ta rows		var final_nbr_ta_rows = nbr_ta_rows - 1; // deduct for current line		final_nbr_ta_rows += opts.extra_rows; // add on extra rows		 		// resize textarea		// note: $.animate() doesnt work well here since only inc/dec row by one		if (final_nbr_ta_rows >= opts.max_rows) {			ta.attr('rows', opts.max_rows);									} else if (final_nbr_ta_rows >= orig.rows) {			ta.attr('rows', final_nbr_ta_rows);					} else {			ta.attr('rows', orig.rows);		}				if (opts.debug) {			console.log('rows: ', ta.attr('rows'), ' nbr nl_rows: ', nl_rows.length, ' nbr_ta_rows: ', nbr_ta_rows, ' final_nbr_ta_rows: ', final_nbr_ta_rows);		}	} // end resize()}; // end autoResizeTextAreaQ()})(jQuery);
+/*
+ * jQuery autoResizeTextAreaQ plugin
+ * @requires jQuery v1.4.2 or later
+ *
+ * Copyright (c) 2010 M. Brown (mbrowniebytes A gmail.com)
+ * Licensed under the Revised BSD license:
+ * http://www.opensource.org/licenses/bsd-license.php
+ * http://en.wikipedia.org/wiki/BSD_licenses
+ *
+ * Versions:
+ * 0.1 - 2010-07-21
+ *       initial
+ *
+ * usage:
+ *  $(document).ready( function() {
+ *      $('textarea').autoResizeTextAreaQ({"max_rows":8});
+ *  });
+ *
+ */
+
+(function($) {
+
+$.fn.autoResizeTextAreaQ = function(options) {
+    var opts = $.extend({
+        // ya prob want to use
+        max_rows: 10,   // # - max rows to resize too
+
+        // ya may want to use, but defaults should be ok
+        extra_rows: 1,  // # - nbr extra rows after last line ie padding; 0|1 optimal
+
+        // ya should really specify in html
+        rows: null,     // null|# - null infer from html; # override html
+        cols: null,     // null|# - null infer from html; # override html
+
+        debug: false    // true|false - turn on|off console.log()
+    }, options);
+
+    // extra padding based on browser
+    /* Removed jQuery 1.9.x
+    if ($.browser.msie) {
+        opts.extra_rows += 1;
+    } else if ($.browser.webkit) {
+        opts.extra_rows += 1;
+    } // else $.browser.mozilla
+     */
+    opts.extra_rows += 1;       // use webkit only.
+
+    // iterate over passed in selector, only process actual textareas
+    return $(this).filter('textarea').each(function(index) {
+
+        var ta = $(this);
+        var orig = {};
+
+        // textarea rows cols current state
+        if (opts.cols != null && opts.cols > 0) {
+            ta.attr('cols', opts.cols);
+        }
+        orig.cols = ta.attr('cols');
+
+        if (opts.rows != null && opts.rows > 0) {
+            ta.attr('rows', opts.rows);
+        }
+        orig.rows = ta.attr('rows');
+
+        // validate max extra_rows
+        if (opts.max_rows == null || opts.max_rows < orig.rows) {
+            opts.max_rows = orig.rows;
+        }
+        if (opts.extra_rows == null || opts.extra_rows < 0) {
+            opts.extra_rows = 0;
+        }
+
+        if (opts.debug) {
+            console.log('opts: ', opts, ' orig: ', orig);
+        }
+
+        // resize textares on load
+        resize(ta, orig);
+
+        // check resize on key input
+        ta.bind('keyup', function(e) {
+            resize(ta, orig);
+        });
+    }); // end each()
+
+    function resize(ta, orig) {
+
+        // nbr explicit rows
+        var nl_rows = ta.val().split('\n');
+
+        // nbr inferred rows
+        var nbr_ta_rows = 0;
+        for (index in nl_rows) {
+            // overly simple check to account for text being auto wrapped and thus a new line
+            nbr_ta_rows += Math.floor((nl_rows[index].length / orig.cols)) + 1;
+        }
+
+        // get final nbr ta rows
+        var final_nbr_ta_rows = nbr_ta_rows - 1; // deduct for current line
+        final_nbr_ta_rows += opts.extra_rows; // add on extra rows
+
+        // resize textarea
+        // note: $.animate() doesnt work well here since only inc/dec row by one
+        if (final_nbr_ta_rows >= opts.max_rows) {
+            ta.attr('rows', opts.max_rows);
+
+        } else if (final_nbr_ta_rows >= orig.rows) {
+            ta.attr('rows', final_nbr_ta_rows);
+
+        } else {
+            ta.attr('rows', orig.rows);
+        }
+
+        if (opts.debug) {
+            console.log('rows: ', ta.attr('rows'), ' nbr nl_rows: ', nl_rows.length, ' nbr_ta_rows: ', nbr_ta_rows, ' final_nbr_ta_rows: ', final_nbr_ta_rows);
+        }
+    } // end resize()
+
+}; // end autoResizeTextAreaQ()
+
+})(jQuery);




Svn-src-all メーリングリストの案内