Skip to content Skip to sidebar Skip to footer

Form Field Input Number Automatically Convert To 3-digit By Adding Zero's In Front

I am trying to make a form where users can input a pagenumber and jump to a certain page which is identified by its div ID.

Solution 1:

You could create a function for it like this:

function padNum(num,length)
{
    length = length || 3;num+="";
    while(num.length < length) num="0"+num;
    return num;
}

Examples:

var newid = padNum(3);//003
var newid = padNum(3,4);//0003

Shorter (but less legible) function if wanted

function padNum(num,length)
{
    return Array((length||3)-((num+"").length-1)).join("0")+num;
}

Note: functions are defaulting the length parameter to 3 when not specified


Solution 2:

used this code :

function pad (str, max) {
  return str.length < max ? pad("0" + str, max) : str;
}

Output:

pad("12", 3);    // => "012"


<form id="gotopage" class="uniForm">
    <input id="pagenumber" name="pagenumber" value="" size="10" type="text" />
</form>
<script>
$(document).ready(function() {
     $('#gotopage').submit( function() {              
          goUrl = 'index.html#pg-' + pad($('#pagenumber').val().toLowerCase(),3);
          window.location = goUrl;
          return false;  // Prevent the default form behaviour
     });
});
</script>

Solution 3:

var num = $('#pagenumber').val().toLowerCase();
var len = num.length;
var result = [0, 0].slice(0, len < 4 ? 3 - len : 0).join('') + num;

Fiddle


Post a Comment for "Form Field Input Number Automatically Convert To 3-digit By Adding Zero's In Front"