• Global community
    • Language:
      • Deutsch
      • English
      • Español
      • Français
      • Português
  • 日本語コミュニティ
    Dedicated community for Japanese speakers
  • 한국 커뮤니티
    Dedicated community for Korean speakers
Exit
0

How to set a textfield that only accept number and comma (,) symbol ?

Community Beginner ,
Apr 10, 2018 Apr 10, 2018

Copy link to clipboard

Copied

i use adobe acrobat XI pro and i want to set a text field in pdf form that only accept number and comma (,)

for example i can input 12 or 1,2

12 numeric or 1,2 numeric with comma (,)

the text field can accept number and the text field can accept numeric with comma (,) too

i've already used this code but it only accept number and reject the comma (,) symbol

"if(Math.floor(event.value) != event.value) { event.rc = false; app.alert("Enter integr values only"); }"

thanks for any help,

kurt

TOPICS
PDF forms

Views

9.4K

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
1 ACCEPTED SOLUTION
Community Expert ,
Apr 13, 2018 Apr 13, 2018

Copy link to clipboard

Copied

I already did, in the code I provided above... Anyway, I think this is what you want to do:

if (event.value) {

    if (event.value=="0") {

        app.alert("Quantity cannot be 0!", 0);

        event.rc = false;

    } else {

        event.rc = /^\d+,?\d*$/.test(event.value) || /,$/.test(event.value);

        if (!event.rc) app.alert("Incorrect value!");

    }

}

View solution in original post

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Apr 11, 2018 Apr 11, 2018

Copy link to clipboard

Copied

You can use this code as the custom validation script of your field:

if (event.value) {

    event.rc = /^\d+,?\d*$/.test(event.value) || /,$/.test(event.value);

    if (!event.rc) app.alert("Incorrect value!");

}

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
Apr 11, 2018 Apr 11, 2018

Copy link to clipboard

Copied

hello mr try67
thanks for your answer

the answer actually correct, but when i try to run my pdf form, the other code of mine don't work after i add your code

here are the list of my code after adding yours :

var a = this.getField("date");

var b = this.getField("department");

var c = this.getField("q1");

var a2 = this.getField("d1");

var a3 = this.getField("dr1");

var a4 = this.getField("r1");

if (event.value) {event.rc = /^\d+,?\d*$/.test(event.value) || /,$/.test(event.value);

    if (!event.rc) {app.alert("Incorrect value!"); c.value='';}}

else if (c.value=='0'){app.alert("Quantity cannot 0!!", 0); c.value=''}

else if (c.value!='' && b.value=='-' && a.value==''){app.alert("You must fill in PR date and Department first!!", 0); c.value=''; a2.value=''; a3.value=''; a4.value=''; }

the "c" (this.getfield("q1")) is the textfield that i want to set only accept number and comma (,) symbol

after i'm adding your code,  the "else if" code after did not work anymore

i hope you can help me with this


thank you,
kurt

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Apr 11, 2018 Apr 11, 2018

Copy link to clipboard

Copied

I don't understand what the rest of your code is supposed to do... Why are you checking the values of all of these other fields?

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
Apr 11, 2018 Apr 11, 2018

Copy link to clipboard

Copied

i'm sorry mr try67,

lets forget about the whole code and focus on this 2 line code :

if (event.value) {event.rc = /^\d+,?\d*$/.test(event.value) || /,$/.test(event.value);

    if (!event.rc) {app.alert("Incorrect value!"); c.value='';}}

else if (c.value=='0'){app.alert("Quantity cannot 0!!", 0); c.value=''}

the bold one is your's and the rest is mine
the "C" is the textfield that i want to set only can accept number and comma symbol.

the "else if" code function is when i fill the C textfield with "0" it'll pop up app alert that says "Quantity cannot 0"

when i use this code :

"if(Math.floor(event.value) != event.value) { event.rc = false; app.alert("Enter integr values only"); c.value=''; }

else if (c.value=='0'){app.alert("Quantity cannot 0!!", 0); c.value=''}"

the "else if" code is work but the "C" textfield cannot accept the comma symbol.

thank you for your help

kurt

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Apr 12, 2018 Apr 12, 2018

Copy link to clipboard

Copied

The rest of the code is important, though. What is the "c" variable pointing to? Should it be the new value of this field?

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
Apr 13, 2018 Apr 13, 2018

Copy link to clipboard

Copied

hello mr try67

the "c" variable pointing to a quantity of an item, so it cannot be 0 or minus -

i want to set "c" only can accept numeric and comma symbol, but cannot accept 0 or minus

thanks for your help

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Apr 13, 2018 Apr 13, 2018

Copy link to clipboard

Copied

But is it the field that is being validated? If so, you need to access the new value using event.value, not using this.getField("...").value ...

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
Apr 13, 2018 Apr 13, 2018

Copy link to clipboard

Copied

i'm beginner for this pdf form script sir

so can you please give me an example about using the "event.value" ? cause i never used that before

thank you for your help

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Apr 13, 2018 Apr 13, 2018

Copy link to clipboard

Copied

I already did, in the code I provided above... Anyway, I think this is what you want to do:

if (event.value) {

    if (event.value=="0") {

        app.alert("Quantity cannot be 0!", 0);

        event.rc = false;

    } else {

        event.rc = /^\d+,?\d*$/.test(event.value) || /,$/.test(event.value);

        if (!event.rc) app.alert("Incorrect value!");

    }

}

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
Apr 15, 2018 Apr 15, 2018

Copy link to clipboard

Copied

thank you mr try67

that's what i wanna do with my pdf form

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
Apr 24, 2018 Apr 24, 2018

Copy link to clipboard

Copied

hello mr try67

i want to ask you again about this topic

i know it's already answered but i need your help

so i put your code in the custom validation script and it work fine. the code are :

if (event.value) { 

    event.rc = /^\d+,?\d*$/.test(event.value) || /,$/.test(event.value); 

    if (!event.rc) app.alert("Incorrect value!");

}

it work fine but i want to add something in that code.
so what i want to do is when i input a wrong value into the text field i want it to pop app alert "incorrect value" and i want it to erase the wrong value in the text field.

so i add this to your code :

if (event.value) { 

    event.rc = /^\d+,?\d*$/.test(event.value) || /,$/.test(event.value); 

    if (!event.rc) {app.alert("Incorrect value!"); event.value="";}

}

but the code did not erase the wrong value, it just pop up an alert message.

i hope you response to this question

thank you for your help

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Apr 25, 2018 Apr 25, 2018

Copy link to clipboard

Copied

LATEST

Setting event.rc to false rejects the new value entered by the user and reverts the field to its original state.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines