Limit Form Input TYPE=TEXT to Numbers Only?

Discussion in 'Web Design & Coding' started by madmatt, Nov 21, 2006.

  1. madmatt

    madmatt Bow Down to the King Political User

    Messages:
    13,312
    Location:
    New York
    You would think they would have a type=numbers by now...

    Does anyone know a way (without using JavaScript?) to limit a form input to numbers only?

    Thank you.
     
  2. SPeedY_B

    SPeedY_B I may actually be insane.

    Messages:
    15,800
    Location:
    Midlands, England
    There's no way that I know of, other than to get the inputted value when submitted and check if that is numbers only. For example, with PHP, you could use is_numeric();
     
  3. Geffy

    Geffy Moderator Folding Team

    Messages:
    7,805
    Location:
    United Kingdom
    you could use ajax to call a php validation function on the server side, then also check the values when the form is submitted using the same php function. this is the method I tend to use if I want any client side validation, though you said no javascript, as it means my validation code is only in one place and isnt duplicated in two places. Though it does mean more traffic between the client and the server.

    you can use is_numeric or ctype_isdigit or a regular expression
     
  4. madmatt

    madmatt Bow Down to the King Political User

    Messages:
    13,312
    Location:
    New York
    Geffy, do you have any good resources for AJAX and form validation? I don't mind JavaScript but I hate annoying popup dialogs ("Fix these errors and press submit again." -- OK button).

    Thank you.
     
  5. Geffy

    Geffy Moderator Folding Team

    Messages:
    7,805
    Location:
    United Kingdom
    Ruby on Rails and model validations :D

    Or AjaxCore might do what you need. It lets you pretty easily bind php functions to HTML objects. So you could "onchange" send the field data for checking and then set the contents of a div or span or border the field in red to indicate the incorrect status of the field