This topic is locked

'Add New' Form

8/23/2005 4:29:25 PM
ASPRunnerPro General questions
C
ctprince author

In my Add New Form, I want the telephone number field to be displayed in the US Phone number format. The Phone number should look like ( )-( ). This makes data entry easy and error free. Also, the cursor should move forward automatically while we enter the telephone number. Is there a way to do it?
I understand that the view page fields can be edited in the US tel number format. But my concern is display it in the data enrty page.
Thanks,

ctprince

Sergey Kornilov admin 8/23/2005

Hi,
this can be done by creating a custom edit control with some javascript to validate input and move cursor automatically.

C
ctprince author 8/23/2005

Can u post that code snippet for me please. I'm sure it will also help other ASP PRo users as well...
Thanks

Sergey Kornilov admin 8/23/2005

I do not have this code snippet available.

T
tsschicago 8/23/2005

Here you go I hope this hellps, feel free to use this in any way you want....
<!-- TWO STEPS TO INSTALL FORMAT PHONE NUMBER:

  1. Copy the coding into the HEAD of your HTML document
  2. Add the last code into the BODY of your HTML document -->
    <!-- STEP ONE: Paste this code into the HEAD of your HTML document -->
    <HEAD>
    <script LANGUAGE="JavaScript">

    <!-- Begin

    var n;

    var p;

    var p1;

    function ValidatePhone(){

    p=p1.value

    if(p.length==3){

    //d10=p.indexOf('(')

    pp=p;

    d4=p.indexOf('(')

    d5=p.indexOf(')')

    if(d4==-1){

    pp="("+pp;

    }

    if(d5==-1){

    pp=pp+")";

    }

    //pp="("+pp+")";

    document.frmPhone.txtphone.value="";

    document.frmPhone.txtphone.value=pp;

    }

    if(p.length>3){

    d1=p.indexOf('(')

    d2=p.indexOf(')')

    if (d2==-1){

    l30=p.length;

    p30=p.substring(0,4);

    //alert(p30);

    p30=p30+")"

    p31=p.substring(4,l30);

    pp=p30+p31;

    //alert(p31);

    document.frmPhone.txtphone.value="";

    document.frmPhone.txtphone.value=pp;

    }

    }

    if(p.length>5){

    p11=p.substring(d1+1,d2);

    if(p11.length>3){

    p12=p11;

    l12=p12.length;

    l15=p.length

    //l12=l12-3

    p13=p11.substring(0,3);

    p14=p11.substring(3,l12);

    p15=p.substring(d2+1,l15);

    document.frmPhone.txtphone.value="";

    pp="("+p13+")"+p14+p15;

    document.frmPhone.txtphone.value=pp;

    //obj1.value="";

    //obj1.value=pp;

    }

    l16=p.length;

    p16=p.substring(d2+1,l16);

    l17=p16.length;

    if(l17>3&&p16.indexOf('-')==-1){

    p17=p.substring(d2+1,d2+4);

    p18=p.substring(d2+4,l16);

    p19=p.substring(0,d2+1);

    //alert(p19);

    pp=p19+p17+"-"+p18;

    document.frmPhone.txtphone.value="";

    document.frmPhone.txtphone.value=pp;

    //obj1.value="";

    //obj1.value=pp;

    }

    }

    //}

    setTimeout(ValidatePhone,100)

    }

    function getIt(m){

    n=m.name;

    //p1=document.forms[0].elements[n]

    p1=m

    ValidatePhone()

    }

    function testphone(obj1){

    p=obj1.value

    //alert(p)

    p=p.replace("(","")

    p=p.replace(")","")

    p=p.replace("-","")

    p=p.replace("-","")

    //alert(isNaN(p))

    if (isNaN(p)==true){

    alert("Check phone");

    return false;

    }

    }

    // End -->

    </script>
    </HEAD>
    <!-- STEP TWO: Copy this code into the BODY of your HTML document -->
    <BODY>
    <div align="center">

    <form name=frmPhone>

    <font size="4" color="#0000FF"><b>Enter Telephone Number</b></font>
    (To refresh, hold down shift and press the browser refresh button)
    <input type=text name=txtphone maxlength="13" onclick="java script:getIt(this)" >

    </form>

    </div>

C
ctprince author 8/23/2005

Thank you so much!