It's the same here in Finland and as the number keyboard has , it the key to use.

Kenneth

My main main problem is localization. since in portuguese decimal separator is , and not a . I just have to disable it.



2011/3/22 Massimo Di Pierro <massimo.dipie...@gmail.com <mailto:massimo.dipie...@gmail.com>>

    I do not have a strong opinion about this one. What do other people
    think?

    On Mar 20, 1:15 pm, Kevin Ivarsen <kivar...@gmail.com
    <mailto:kivar...@gmail.com>> wrote:
    > Hi all,
    >
    > I find the default javascript validators for integer, double,
    and decimal
    > SQLFORM fields to be a little annoying. Consider the following
    surprising
    > behaviors:
    >
    > - You can't navigate within the textbox using the keyboard.
    Pressing left,
    > right, home, or end all result in the cursor jumping back to the
    end of the
    > input
    > - You can't select text with ctrl-a or ctrl-shift-left/right
    > - If the user accidentally flubs the input (e.g. 2.u1828 instead of
    > 2.71828), the offending character is silently removed and an
    incorrect value
    > may be submitted without warning.
    >
    > I think a better alternative is to flag to the user that the
    input is wrong
    > rather than trying to correct it for them -- e.g. by changing
    the input
    > background color. The following is a sample implementation that
    does this:
    >
    > -- in file web2py_ajax.html, replace the lines
    > "jQuery('input.integer').live..." and
    > "jQuery('input.double,input.decimal').live..." with:
    >
    >   jQuery('input.integer').live('keydown keyup', function(){
    >      if (! this.value.match(/^[+-]?[0-9]*$/)) {
    >           jQuery(this).addClass("w2p_inputerror");
    >      }
    >      else {
    >           jQuery(this).removeClass("w2p_inputerror");
    >      }
    >   });
    >
    >   jQuery('input.double,input.decimal').live('keydown keyup',
    function(){
    >      if (! this.value.match(/^[+-]?[0-9]*\.?[0-9]*$/)) {
    >           jQuery(this).addClass("w2p_inputerror");
    >      }
    >      else {
    >           jQuery(this).removeClass("w2p_inputerror");
    >      }
    >   });
    >
    > -- in file base.css, add the following style:
    >
    >      input.w2p_inputerror {
    >           background: #FF8;
    >      }
    >
    > A few notes:
    >
    > 1. The regexes used to validate numbers are "intentionally"
    naive. For
    > example. the double validator accepts "+", "-", "+.", and "-.",
    which are of
    > couse not valid numbers. However, suppose the user enters a
    value between -1
    > and 0. They are likely to start by typing "-.", and I don't
    think it's
    > polite to flash the textbox at them when they are about to enter
    a valid
    > number.
    >
    > 2. The double validator does not permit scientific notation -
    e.g. "1e6" for
    > 1 million. Such notation is probably of limited use for most
    people, the old
    > validator rejected such values anyway, and I didn't feel like
    implementing
    > it :-)
    >
    > 3. The jquery events listen to both keyup and keydown. keyup is
    necessary
    > because the input.value has not yet been updated when keydown is
    fired. But
    > listening to keydown is useful if the user holds down the
    backspace key -
    > the background color will be reset as soon as the last offending
    character
    > has been deleted, rather than waiting for the user to release
    the backspace
    > key.
    >
    > 4. I used the class name "w2p_inputerror" in an attept to
    namespace this
    > somewhat web2py-specific class.
    >
    > I hope some people find this to be useful. If other people have
    been annoyed
    > by the current default, perhaps we could open discussion to make
    this the
    > new default in web2py?
    >
    > Cheers,
    > Kevin




--
Atenciosamente


Alexandre Andrade
Hipercenter.com Classificados Gratuitos

Reply via email to