Ignore:
Timestamp:
2013/09/04 14:34:12 (13 years ago)
Author:
h_yoshimoto
Message:

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

Location:
branches/version-2_13_0/html
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • branches/version-2_13_0/html/js/eccube.js

    r23167 r23187  
    194194        } 
    195195        if (ret) { 
    196             var formElement = $("form#" + form); 
    197             formElement.find("*[name=" + key + "]").val(val); 
    198             formElement.submit(); 
     196            var values = {}; 
     197            values[key] = val; 
     198            eccube.submitForm(values, form); 
    199199        } 
    200200        return false; 
     
    202202 
    203203    eccube.setValue = function(key, val, form) { 
    204         if (typeof form === 'undefined') { 
    205             form = eccube.defaults.formId; 
    206         } 
    207         var formElement = $("form#" + form); 
     204        var formElement = eccube.getFormElement(form); 
    208205        formElement.find("*[name=" + key + "]").val(val); 
    209206    }; 
    210207 
    211     eccube.changeAction = function(url) { 
    212         document['form1'].action = url; 
     208    eccube.changeAction = function(url, form) { 
     209        var formElement = eccube.getFormElement(form); 
     210        formElement.attr("action", url); 
    213211    }; 
    214212 
    215213    // ページナビで使用する。 
    216214    eccube.movePage = function(pageno, mode, form) { 
    217         if (form === undefined) { 
    218             form = eccube.defaults.formId; 
    219         } 
    220         var formElement = $("form#" + form); 
    221         formElement.find("input[name=pageno]").val(pageno); 
     215        var values = {pageno: pageno}; 
    222216        if (mode !== undefined) { 
    223             formElement.find("input[name='mode']").val(mode); 
     217            values.mode = mode; 
     218        } 
     219        eccube.submitForm(values, form); 
     220    }; 
     221 
     222    /** 
     223     * フォームを送信する. 
     224     * 
     225     * @param values 
     226     * @param form 
     227     */ 
     228    eccube.submitForm = function(values, form){ 
     229        var formElement = eccube.getFormElement(form); 
     230        if (values !== undefined && typeof values === "object") { 
     231            $.each(values, function(index, value) { 
     232                eccube.setValue(index, value, formElement); 
     233            }); 
    224234        } 
    225235        formElement.submit(); 
    226236    }; 
    227237 
    228     eccube.submitForm = function(values, form){ 
     238    /** 
     239     * フォームを特定してエレメントを返す. 
     240     * 
     241     * @param form 
     242     * @returns {*} 
     243     */ 
     244    eccube.getFormElement = function(form){ 
    229245        var formElement; 
    230246        if (form !== undefined && typeof form === "string" && form !== "") { 
     
    235251            formElement = $("form#" + eccube.defaults.formId); 
    236252        } 
    237         if (values !== undefined && typeof values === "object") { 
    238             $.each(values, function(index, value) { 
    239                 formElement.find("input,select").filter("[name='" + index + "']").val(value); 
    240             }); 
    241         } 
    242         formElement.submit(); 
     253        return formElement; 
    243254    }; 
    244255 
  • branches/version-2_13_0/html/user_data/packages/sphone/js/jquery.autoResizeTextAreaQ-0.1.js

    r22564 r23187  
    1 /* * 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); 
     1/* 
     2 * jQuery autoResizeTextAreaQ plugin 
     3 * @requires jQuery v1.4.2 or later 
     4 * 
     5 * Copyright (c) 2010 M. Brown (mbrowniebytes A gmail.com) 
     6 * Licensed under the Revised BSD license: 
     7 * http://www.opensource.org/licenses/bsd-license.php 
     8 * http://en.wikipedia.org/wiki/BSD_licenses 
     9 * 
     10 * Versions: 
     11 * 0.1 - 2010-07-21 
     12 *       initial 
     13 * 
     14 * usage: 
     15 *  $(document).ready( function() { 
     16 *      $('textarea').autoResizeTextAreaQ({"max_rows":8}); 
     17 *  }); 
     18 * 
     19 */ 
     20 
     21(function($) { 
     22 
     23$.fn.autoResizeTextAreaQ = function(options) { 
     24    var opts = $.extend({ 
     25        // ya prob want to use 
     26        max_rows: 10,   // # - max rows to resize too 
     27 
     28        // ya may want to use, but defaults should be ok 
     29        extra_rows: 1,  // # - nbr extra rows after last line ie padding; 0|1 optimal 
     30 
     31        // ya should really specify in html 
     32        rows: null,     // null|# - null infer from html; # override html 
     33        cols: null,     // null|# - null infer from html; # override html 
     34 
     35        debug: false    // true|false - turn on|off console.log() 
     36    }, options); 
     37 
     38    // extra padding based on browser 
     39    /* Removed jQuery 1.9.x 
     40    if ($.browser.msie) { 
     41        opts.extra_rows += 1; 
     42    } else if ($.browser.webkit) { 
     43        opts.extra_rows += 1; 
     44    } // else $.browser.mozilla 
     45     */ 
     46    opts.extra_rows += 1;       // use webkit only. 
     47 
     48    // iterate over passed in selector, only process actual textareas 
     49    return $(this).filter('textarea').each(function(index) { 
     50 
     51        var ta = $(this); 
     52        var orig = {}; 
     53 
     54        // textarea rows cols current state 
     55        if (opts.cols != null && opts.cols > 0) { 
     56            ta.attr('cols', opts.cols); 
     57        } 
     58        orig.cols = ta.attr('cols'); 
     59 
     60        if (opts.rows != null && opts.rows > 0) { 
     61            ta.attr('rows', opts.rows); 
     62        } 
     63        orig.rows = ta.attr('rows'); 
     64 
     65        // validate max extra_rows 
     66        if (opts.max_rows == null || opts.max_rows < orig.rows) { 
     67            opts.max_rows = orig.rows; 
     68        } 
     69        if (opts.extra_rows == null || opts.extra_rows < 0) { 
     70            opts.extra_rows = 0; 
     71        } 
     72 
     73        if (opts.debug) { 
     74            console.log('opts: ', opts, ' orig: ', orig); 
     75        } 
     76 
     77        // resize textares on load 
     78        resize(ta, orig); 
     79 
     80        // check resize on key input 
     81        ta.bind('keyup', function(e) { 
     82            resize(ta, orig); 
     83        }); 
     84    }); // end each() 
     85 
     86    function resize(ta, orig) { 
     87 
     88        // nbr explicit rows 
     89        var nl_rows = ta.val().split('\n'); 
     90 
     91        // nbr inferred rows 
     92        var nbr_ta_rows = 0; 
     93        for (index in nl_rows) { 
     94            // overly simple check to account for text being auto wrapped and thus a new line 
     95            nbr_ta_rows += Math.floor((nl_rows[index].length / orig.cols)) + 1; 
     96        } 
     97 
     98        // get final nbr ta rows 
     99        var final_nbr_ta_rows = nbr_ta_rows - 1; // deduct for current line 
     100        final_nbr_ta_rows += opts.extra_rows; // add on extra rows 
     101 
     102        // resize textarea 
     103        // note: $.animate() doesnt work well here since only inc/dec row by one 
     104        if (final_nbr_ta_rows >= opts.max_rows) { 
     105            ta.attr('rows', opts.max_rows); 
     106 
     107        } else if (final_nbr_ta_rows >= orig.rows) { 
     108            ta.attr('rows', final_nbr_ta_rows); 
     109 
     110        } else { 
     111            ta.attr('rows', orig.rows); 
     112        } 
     113 
     114        if (opts.debug) { 
     115            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); 
     116        } 
     117    } // end resize() 
     118 
     119}; // end autoResizeTextAreaQ() 
     120 
     121})(jQuery); 
Note: See TracChangeset for help on using the changeset viewer.