การเขียน JavaScript เพื่อใช้ในแบบฟอร์มอิเล็กทรอนิกส์

 

  • การเขียน JavaScirptเพื่อรวมตัวเลขด้วยการบวก

คุณอาจต้องการที่จะทำการบวกตัวเลขรวม ในแถวหรือคอลัมน์ และใส่ภาษีซื้อรวมเข้าไปด้วย, ใส่ค่าขนส่ง, แสดงส่วนลด หรือตัวเลขอื่น ๆ ในส่วนของ field ที่นำมาคำนวณ
ในคำสั่งที่จะขยายสูตรการคำนวณผลรวมทั้งหมด และแสดงผลรวมทั้งหมดไปที่การคำนวณอื่น ๆ ตัวเลือกที่ดีสำหรับคุณ ก็คือการใช้ JavaScript


1. เปิดแถบ Calculate บน field ที่เตรียมไว้สำหรับการคำนวณข้อมูล และคลิก Edit สำหรับหัวข้อ Custom Calulation Script
2. ใน JavaScript Editor พิมพ์โค๊ดดังต่อไปนี้:
1.var f = this.getField(“amount”);
2.var a = f.getArray();
3.var sum = 0;
4. for (i =0; i < a.length; i++)
5. sum += a[i].value;
6.event.value = sum + (sum * .07);

บรรทัดที่ 1 สร้างขึ้น เพื่อใช้การจัดเรียงลำดับ field ที่มีชื่อนำเหมือนกัน ของ amount แบบฟอร์มประกอบไปด้วยชื่อ field หลายชื่อ amount.0,amount.1,amount.2, etc. การทำงานจะมีการหมุนเวียนไปยัง field ทั้งหมดที่มีชื่อเหมือน และจับเอาค่าในแต่ละ field และใส่มันไปที่ตัวแปร หรือค่าที่เปลี่ยนแปลงได้ (ขึ้นอยู่กับค่าในแต่ละ field) วิธีนี้เรียกว่า sum
บรรทัดสุดท้าย ใส่ sum ให้ sum * (คูณ) ด้วยภาษีซื้อ 7%

 

  • การคำนวณภาษีซื้อ

การคำนวณภาษีซื้อสามารถทำได้อย่างง่าย ๆ ด้วยสูตรที่สร้างขึ้น, ใช้การเขียน Script ใน Simplified Field และ JavaScript เมื่อคุณมี field ที่แยกไว้สำหรับ field คำนวณยอดรวม และ field ภาษี
ใช้ JavaScript เพื่อกำหนด script ใช้ในการคำนวณภาษีขาย:


1. เปิดแถบ Calculate บน field ที่เตรียมไว้สำหรับการคำนวณข้อมูล และคลิก Edit สำหรับหัวข้อ Custom Calulation Script
2. ใน JavaScript Editor พิมพ์ script ดังต่อไปนี้:
1.var f = this.getField(“subtotal”);
2.event.value = Math.round(f.value * 7.00) /100;

Script ด้านบน เพื่อกำหนดตัวแปรที่ field ที่ต้องการ คือ subtotal ในที่ซึ่งเกิดผลรวมทั้งหมด ของข้อมูลในแถว หรือคอลัมน์ ที่มีการคำนวณ
ส่วนบรรทัดที่สองของโค๊ดการคำนวณภาษีซื้อ 7%

 

  • กำหนด Fields เพื่ออ่านอย่างเดียว

ทำการกำหนด Fields เพื่ออ่านอย่างเดียวในแถบ General ที่ dialog box ของ field properties เพื่อป้องกันการใส่ข้อมูล หรือเปลี่ยนข้อมูลใน field โดยผู้ใช้
ถ้าแบบฟอร์มมีการกำหนดระบบรักษาความปลอดภัย ด้วย Acrobat Security ผู้ใช้ไม่สามารถที่จะทำการแก้ไข fields และเปลี่ยนแปลงข้อมูล
คุณอาจจะกำหนดให้ fields อ่านได้อย่างเดียว เพื่อที่ไม่ให้มีการเปลี่ยนมูลค่าของราคา และ เกิดการคำนวณ

วิธีกำหนด fields ให้อ่านได้อย่างเดียว ให้ปฎิบัติดังต่อไปนี้:


1. เปิด dialog box ของ properties บนทุก ๆ fields ที่ต้องการกำหนดให้อ่านได้อย่างเดียว
2. คลิกแถบ General
3. เช็คที่กรอบ Read Only

คุณอาจจะทำการล็อค fields เพื่อป้องกันการใส่ข้อมูล วิธีจัดการกับภารกิจนี้ ด้วยการใส่ JavaScript ในแถบ Calculate ในที่ที่คุณต้องการให้ field แสดงถึงการอ่านอย่างเดียว
นี่คือตัวอย่าง:
1.var f = this.getField(“item”)
2.f.readonly=true;

fields ทั้งหมด ที่ชื่อนำหน้าเหมือนกัน (item คือชื่อ fields) เป็น fields ที่แสดงถึงการอ่านอย่างเดียว

วิธีกำหนดค่าตรงข้ามของfields ที่สามารถอ่านได้อย่างเดียว เพื่อให้ fields สามารถ่ใส่ข้อมูลได้ ให้ทำตามขั้นตอนเหมือนการเขียน script ด้านบน
1.var f = this.getField(“item”)
2.f.readonly=false;

 

  • ลบเลขศูนย์ จาก fields ที่มีการคำนวณ

ถ้าคุณมีตาราง และคอลัมน์ หรือแถวสุดท้าย ของข้อมูลเป็น fields ที่มีการคำนวณ (ตัวเลขบางอย่าง เช่น ราคา x จำนวน)
ผลลัพท์ค่าตัวเลือกอัตโนมัติเป็น 0.00 จนกว่าตัวเลขมีการเพิ่มให้กับ fields ภายในการคำนวณ


คุณสามารถขจัดเลขศูนย์ที่เป็นค่าตัวเลือกอัตโนมัติ ใน fields ที่มีการคำนวณ โดยใช้ JavaScript
ตัวอย่าง Script:
1.var f = this.getField(“price.0”);
2.var g = this.getField(“qty.0”);
3.if (g.value !=0)
4. event.value = f.value * g.value;
5.else
6. event.value +””;

ในบรรทัดที่ 1 และ 2 ตัวแปร กำหนดสำหรับ field ราคา (price) และจำนวน (qty) ผลของการคำนวณ มีจำนวนรวมเพิ่มขึ้น โดยราคาคูณจำนวน
ในบรรทัดที่ 3 เช็คที่ field qty และถ้ามันไม่เป็นศูนย์ การคำนวณก็จะทำต่อจนสำเร็จ ถ้าผลลัพท์เป็นศูนย์ ในบรรทัดที่ 6 จะมีการดำเนินการ ให้ field ไม่มีการคำนวณค่า แล้วนำไปใส่ใน field ผลลัพท์ ในการขจัดค่าตัวเลขอัตโนมัติที่เป็นศูนย์ (0)

บันทึก: คุณไม่สามารถขจัดเลขศูนย์ โดยใช้สูตรคำนวณที่มีอยู่ในโปรแกรม Acrobat หรือใช้ Simplified Field Notation คุณจำเป็นต้องใช้ JavaScript ในการสั่งเพื่อขจัดเลขศูนย์


Field: amount = price x qty


Field: amount ที่มีการคำนวณ โดยใช้สูตรการคำนวณ (price*qty) ที่มีให้มาพร้อมโปรแกรม ไม่ได้ใส่ตัวเลขในช่อง qty
จะปรากฏเลข 0.00


Field: amount ที่มีการคำนวณ โดยใช้ JavaScript และสั่งให้ขจัดเลขศูนย์ ไม่ได้ใส่ตัวเลขในช่อง qty
จะไม่ปรากฏเลข 0.00


Field: amount ที่มีการคำนวณ โดยใช้ JavaScript และสั่งให้ขจัดเลขศูนย์ เมื่อใส่ตัวเลขในช่อง qty
จะได้ผลลัพท์ตามต้องการ

 

 

www.PDFThai.com
ชุมชนสำหรับผู้ใช้ PDF ในประเทศไทย ติดต่อ Webmaster ที่ Email : webmaster@pdfthai.com
Fusion Technology Co., Ltd. Tel : 0-2559-2013-6

 
ปิดหน้าต่างนี้