Cộng đồng người dùng Adobe Acrobat là một nguồn tài nguyên toàn cầu dành cho người dùng Acrobat và PDF, với các trình kết thúc, mẹo, hướng dẫn, video và diễn đàn thảo luận miễn phí.

Bạn đang xem : trường ẩn trong javascript

Ẩn và hiển thị các trường biểu mẫu bằng JavaScript

Qua
Thom Parker – ngày 7 tháng 7 năm 2006

Phạm vi: Acrobat Professional 6.0 trở lên
Cấp kỹ năng: Người mới bắt đầu
Điều kiện tiên quyết: Quen thuộc với Acrobat Professional, Bảng điều khiển JavaScript và Tài liệu tham khảo về JavaScript Acrobat.

Nhiều biểu mẫu có các phần tùy chọn. Để giữ cho người dùng chỉ tập trung vào những phần của biểu mẫu mà họ cần điền và để giúp họ không bị nhầm lẫn, việc ẩn một số trường biểu mẫu thường rất hữu ích. Mẹo này cho biết cách thiết kế biểu mẫu bằng cách sử dụng Acrobat JavaScript để hiển thị và ẩn các trường biểu mẫu dựa trên hành động của người dùng.

Khái niệm cơ bản về khả năng hiển thị trường

Biểu mẫu trường trên tài liệu PDF có thể hiển thị trong trình xem PDF (tức là Acrobat, Reader), trên tài liệu in hoặc cả hai. Acrobat JavaScript DOM cung cấp ba thuộc tính Đối tượng Trường khác nhau để kiểm soát các tùy chọn này, được liệt kê trong bảng bên dưới.

Thuộc tính trường

Mô tả

ẩn

Thuộc tính không được dùng nữa – Tháng 5 sẽ bị xóa trong các phiên bản Acrobat trong tương lai

Giá trị Boolean:

  • true – Ẩn Trường trong Trình xem
  • false – Hiển thị Trường trong Người xem

in

Thuộc tính không dùng nữa – Có thể bị xóa trong các phiên bản Acrobat trong tương lai

Giá trị Boolean:

  • true – Trường được hiển thị trong tài liệu đã in
  • false – Trường không được in

hiển thị

Giá trị số nguyên – Đã thay thế trong Acrobat phiên bản 4.0

  • 0 – Trường Hiển thị trong Trình xem và Tài liệu In
  • 1 – Trường ẩn trong trình xem và trong tài liệu in
  • 2 – Trường hiển thị trong trình xem, ẩn trên tài liệu in
  • 3 – Trường ẩn trong trình xem, hiển thị trên tài liệu in
  • Như đã lưu ý trong bảng, hai thuộc tính đầu tiên không được dùng nữa. Điều này có nghĩa là Adobe đã nghĩ lại cách họ đã thiết lập các thuộc tính này và quyết định thay đổi nó. Tuy nhiên, rất nhiều tài liệu đã được tạo bằng cách sử dụng các thuộc tính này nên họ đã để chúng trong DOM cho đến khi họ cảm thấy có thể xóa chúng trong phiên bản trong tương lai. Các thuộc tính này chỉ được sử dụng cho các tập lệnh sẽ được xem trong phiên bản Acrobat trước đây không còn được dùng nữa, đây là phiên bản 3.0. Nếu không, hãy gắn bó với thuộc tính hiển thị . Về cơ bản, luôn sử dụng thuộc tính display .

    Hằng số hiển thị

    Acrobat cung cấp một tập hợp các hằng số trong đối tượng display để bạn không cần phải nhớ giá trị số nguyên nào tương ứng với tùy chọn hiển thị trường nào.

    Tên không đổi

    Giá trị số nguyên

    Mô tả

    display.vosystem

    0

    Trường Hiển thị trong Trình xem và In < / p>

    display.hiised

    1

    Trường Ẩn trong Trình xem và trong Bản in

    display.noPrint

    2

    Trường hiển thị trong trình xem, ẩn khi in

    display.noView

    3

    Trường ẩn trong trình xem, hiển thị khi in

    Ví dụ

    Tất cả các ví dụ được cung cấp trong Sample_ShowHideFields.pdf
    Tải xuống & lt ;? php makeFileTypeLabel (“PDF”, “193 KB”); ? & gt;

    Đặt Chế độ hiển thị trường dựa trên Cài đặt hộp kiểm duy nhất

    Có lẽ trường hợp đơn giản nhất để đặt chế độ hiển thị trường là một hộp kiểm duy nhất. Khi được chọn, một số trường khác được hiển thị và khi bỏ chọn, các trường sẽ bị ẩn. Trong ví dụ đầu tiên của tệp mẫu, hộp kiểm được sử dụng để hiển thị một tập hợp các trường để nhập thông tin bổ sung. Lưu ý rằng không chỉ các trường mục nhập được hiển thị mà khả năng hiển thị của các nhãn trường cũng được kiểm soát. Các nhãn trường thực sự là trường văn bản chỉ đọc.

    Nói chung, có hai vị trí có thể đặt mã hiển thị; trong trường kích hoạt thay đổi mức độ hiển thị hoặc trường nhận được sự thay đổi mức độ hiển thị. Vị trí nào là tốt nhất tùy thuộc vào từng trường hợp cụ thể. Đối với mẫu này, nhiều trường nhận được thay đổi, nhưng chỉ một trường duy nhất (Hộp kiểm) được sử dụng làm trình kích hoạt. Cách tiếp cận đơn giản nhất là sử dụng sự kiện cho Hộp kiểm. Sự kiện cụ thể này được sử dụng vì nó xảy ra sau khi giá trị của Hộp kiểm đã được cập nhật. Sự kiện sẽ không hoạt động vì nó xảy ra trước khi giá trị Hộp kiểm được thay đổi. Một đoạn mã được hiển thị bên dưới.

     var nHide = event.target.isBoxChecked (0)? display.vosystem: display.hiised;
    this.getField ("LblShippingInfo"). display = nHide;
    this.getField ("LblShippingStreet"). display = nHide;
    this.getField ("ShippingStreet"). display = nHide; 

    Dòng đầu tiên xác định khả năng hiển thị bằng cách kiểm tra trạng thái của hộp kiểm với hàm event.target.isBoxChecked (0). Phần đầu tiên của mã này, event.target, đề cập đến mục tiêu của sự kiện, đó là Hộp kiểm. Đối số của hàm isBoxChecked () là 0 , tham chiếu đến phiên bản đầu tiên của hộp kiểm. Nếu có một số Hộp kiểm có cùng tên, đối số này sẽ được sử dụng để phân biệt giữa chúng. Giá trị trả về true / false của hàm này sau đó được sử dụng để chọn trạng thái hiển thị với Toán tử có điều kiện, tức là toán tử dấu chấm hỏi. Toán tử này tương đương với việc sử dụng câu lệnh if . Các dòng mã bổ sung chỉ cần áp dụng trạng thái hiển thị cho các trường thích hợp.

    Đặt Chế độ hiển thị trường dựa trên Cài đặt nút radio

    Một đặc điểm của Nút radio là người dùng chỉ có thể bật một nút. Các nút sẽ tự động tắt khi người dùng thực hiện lựa chọn khác. Đặc điểm này đơn giản hóa mã để hiển thị và ẩn các trường trong Mẫu số 2 . Trong mẫu này có hai Nút radio, một nút ẩn trường và một nút hiển thị trường. Vì nó được đưa ra khi người dùng nhấp vào một nút mà nút đó sẽ được chọn, nên không cần mã để xác định trạng thái của lựa chọn. Mỗi nút có một kịch bản trong sự kiện. Tập lệnh cho Nút radio chỉ định hiển thị. Có thể chia sẻ cho từng trường trong khối và tập lệnh cho Nút vô tuyến chỉ định hiển thị. , khối bao gồm nền màu xám có chứa và làm nổi bật các trường. Có một số cách khác nhau để tạo hiệu ứng này tùy thuộc vào cấp độ kỹ năng của nhà phát triển biểu mẫu và các công cụ có sẵn. Ví dụ: nó có thể là OCG, Trường văn bản hoặc Chú thích tem. Trong ví dụ này, một Chú thích Đánh dấu Hình vuông được sử dụng. Tất cả các chú thích đều có thuộc tính ẩn hoạt động giống hệt như thuộc tính ẩn không dùng nữa cho một trường. Sử dụng nó chỉ đơn giản là vấn đề có thể lấy được đối tượng chú thích. Cách dễ nhất để làm điều này là lấy chú thích theo tên, đó là cách nó được thực hiện trong mã ví dụ với dòng sau.

     this.getAnnot (0, "SpouseInfoBlk"). Hidden = false; 

    Tuy nhiên, không giống như các trường, các chú thích được tạo từ giao diện người dùng được đặt tên rất khó hiểu, được tạo tự động. Không có cách nào để truy cập tên chú thích từ giao diện người dùng Acrobat. Đặt cho chú thích một cái tên hợp lý (con người có thể đọc được), phải được thực hiện bằng JavaScript. Khi mẫu này được tạo, chú thích nền là chú thích duy nhất trên PDF, giúp đơn giản hóa tình huống đáng kể. Tên của nó đã được thay đổi bằng cách thực thi dòng mã sau trong Bảng điều khiển JavaScript.

     this.getAnnots (0) [0] .name = “SpouseInfoBlk”;  

    Hàm getAnnots () trả về một mảng các đối tượng chú thích cho trang được chỉ định. Vì chúng tôi biết chỉ có một chú thích trên trang, nên ký hiệu [0] là đủ. Nếu có nhiều chú thích hơn, bạn cần thực hiện thêm một chút công việc để xác định chính xác.

    Đặt Chế độ hiển thị trường dựa trên Cài đặt “Hộp kiểm vô tuyến”

    Có thể thực hiện các hộp kiểm để hoạt động tương tự như Radio Buttons. Điều này được thực hiện bằng cách đặt tên trường giống nhau cho một nhóm Hộp kiểm và đặt cho mỗi hộp kiểm một giá trị xuất khác nhau. Sự khác biệt giữa thiết lập này và các Nút vô tuyến thực là các Hộp kiểm có thể được tắt, cho phép người dùng lựa chọn không chọn bất kỳ tùy chọn nào. Với Radio Buttons, sau khi lựa chọn được thực hiện, nó sẽ không thể bị xóa. Chúng tôi sẽ gọi điều khiển hợp nhất này là “Hộp kiểm vô tuyến”.

    Mẫu số 3 sử dụng “Hộp kiểm vô tuyến” để triển khai việc lựa chọn tiêu đề, lợi thế là người dùng không cần phải chọn một tiêu đề nào cả nếu họ không muốn. Chọn tùy chọn cuối cùng, sẽ hiển thị một trường văn bản để nhập tiêu đề tùy chỉnh. Vì có bốn Hộp kiểm và người dùng có thể tắt tùy chọn này từ bất kỳ hộp nào trong số đó, chúng tôi có thể kết luận rằng một tập lệnh nên được đặt trong sự kiện Mouse Up cho mỗi nút, nhưng điều này không hiệu quả vì chúng tôi sẽ lặp lại như vậy mã cho mỗi. Thay vào đó, ví dụ này sử dụng một sự kiện chung cho tất cả các Hộp kiểm, sự kiện. Sự kiện này được gọi bất cứ khi nào bất kỳ giá trị nào trong các Hộp kiểm thay đổi. Rất tiếc, không thể nhập tập lệnh cho sự kiện từ giao diện người dùng Acrobat, chỉ có thể truy cập tập lệnh này từ JavaScript bằng hàm field.setAction () . Mã để thiết lập sự kiện này được chạy từ Bảng điều khiển JavaScript. Nó có sẵn trong tệp mẫu và cũng được hiển thị bên dưới.

     var strJS = 'this.getField ("OtherTitle"). display = ’+‘ (event.value == "Other")? display.vible: display.hiised;';
    this.getField ("Tiêu đề"). setAction ("Xác thực", strJS); 

    Hai dòng mã đầu tiên xây dựng một phiên bản chuỗi của tập lệnh. Tập lệnh này là một dòng mã duy nhất. Chức năng duy nhất của nó là đặt trường thành hiển thị khi giá trị xuất từ ​​các Hộp kiểm là “Khác”. Dòng mã thứ ba đặt tập lệnh sự kiện cho trường, là tên được đặt cho tất cả “Hộp kiểm vô tuyến”.

    Đặt chế độ hiển thị trường dựa trên Dữ liệu biểu mẫu hợp lệ

    Trong Mẫu số 4 Nút Gửi chỉ hiển thị khi tất cả dữ liệu trường bắt buộc được nhập. Kỹ thuật tương tự này cũng có thể được sử dụng để hiển thị trường Chữ ký. Ý tưởng chung là trường ẩn đại diện cho điều cuối cùng mà người dùng phải làm. Trường được ẩn cho đến khi mọi thứ đã sẵn sàng. Mã để hiển thị nút ẩn phức tạp hơn mã được đưa ra trong các ví dụ trước vì nó phải kiểm tra mọi trường trên biểu mẫu. Vị trí hợp lý để đặt một tập lệnh như vậy là trong một sự kiện vì loại sự kiện này được kích hoạt bất cứ lúc nào một thay đổi được thực hiện đối với bất kỳ trường nào trên biểu mẫu, cung cấp một cách để liên tục kiểm tra tất cả các trường. Cả hai trường Nút và Chữ ký đều có một sự kiện có thể được đặt thông qua JavaScript giống như cách tập lệnh được đặt trong Mẫu số 3. Tuy nhiên, sự phức tạp của một tập lệnh kiểm tra tất cả các trường khác trên tài liệu làm cho phương pháp này trở nên khó xử. Sẽ tốt hơn nhiều nếu đặt tập lệnh này ở một vị trí mà nó có thể dễ dàng gỡ lỗi và thay đổi. Vì lý do này, tập lệnh được đặt trong trường hợp có trường Văn bản ẩn đặc biệt. Trường Văn bản được thêm vào biểu mẫu chỉ với mục đích cho phép chúng tôi sử dụng sự kiện mà chúng tôi có thể dễ dàng truy cập vào tập lệnh.

    Bản thân tập lệnh, được hiển thị bên dưới, được viết bằng một trang viên dễ đọc để đơn giản hóa việc gỡ lỗi và các thay đổi trong tương lai.

     var bReady = true;
    if (this.getField ("FormName"). value.length == 0) bReady = false;
    else if (this.getField ("FormAddress"). value.length == 0) bReady = false;
    else if (this.getField ("FormEmail"). value.length == 0) bReady = false;
    
    if (bReady) this.getField ("DoSubmit"). display = display.vosystem;
    else this.getField ("DoSubmit"). display = display.hiised; 

    Ở đầu tập lệnh, biến bReady được xác định và mặc định là true. Đoạn mã sau kiểm tra từng trường biểu mẫu để xem liệu dữ liệu đã được nhập vào trường đó chưa và chỉ đặt bReady thành false nếu quá trình kiểm tra không thành công. Ở dạng thực, những bài kiểm tra này rất có thể sẽ phức tạp hơn. Ví dụ: nếu biểu mẫu chứa các phần tùy chọn hoặc có điều kiện, thì trước tiên có thể cần kiểm tra Hộp kiểm, Nút radio hoặc các điều kiện khác trước khi kiểm tra các trường trong phần.


Xem thêm những thông tin liên quan đến chủ đề trường ẩn trong javascript

JavaScript Tutorial for Beginners: Learn JavaScript in 1 Hour

  • Tác giả: Programming with Mosh
  • Ngày đăng: 2018-04-23
  • Đánh giá: 4 ⭐ ( 9893 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Watch this JavaScript tutorial for beginners to learn JavaScript basics in one hour.
    🔥 Want to master JavaScript? Get my complete JavaScript course: http://bit.ly/2KZea52
    👍 Subscribe for more tutorials like this: https://goo.gl/6PYaGF

    ⭐️ Want to learn more from me? Check out these links:

    Courses: https://codewithmosh.com
    Twitter: https://twitter.com/moshhamedani
    Facebook: https://www.facebook.com/programmingwithmosh/
    Blog: http://programmingwithmosh.com

    JavaScript is one of the most popular programming languages in 2022. A lot of people are learning JavaScript to become front-end and/or back-end developers.

    I've designed this JavaScript tutorial for beginners to learn JavaScript from scratch. We'll start off by answering the frequently asked questions by beginners about JavaScript and shortly after we'll set up our development environment and start coding.

    Whether you're a beginner and want to learn to code, or you know any programming language and just want to learn JavaScript for web development, this tutorial helps you learn JavaScript fast.

    You don't need any prior experience with JavaScript or any other programming languages. Just watch this JavaScript tutorial to the end and you'll be writing JavaScript code in no time.

    If you want to become a front-end developer, you have to learn JavaScript. It is the programming language that every front-end developer must know.

    You can also use JavaScript on the back-end using Node. Node is a run-time environment for executing JavaScript code outside of a browser. With Node and Express (a popular JavaScript framework), you can build back-end of web and mobile applications.

    If you're looking for a crash course that helps you get started with JavaScript quickly, this course is for you.

    ⭐️TABLE OF CONTENT ⭐️

    00:00 What is JavaScript
    04:41 Setting Up the Development Environment
    07:52 JavaScript in Browsers
    11:41 Separation of Concerns
    13:47 JavaScript in Node
    16:11 Variables
    21:49 Constants
    23:35 Primitive Types
    26:47 Dynamic Typing
    30:06 Objects
    35:22 Arrays
    39:41 Functions
    44:22 Types of Functions

    ⭐️Related Tutorials ⭐️
    Node tutorial for beginners:
    https://youtu.be/TlB_eWDSMt4

    Express.js tutorial for beginners:
    https://youtu.be/pKd0Rpw7O48

    React tutorial for beginners:
    https://youtu.be/Ke90Tje7VS0

    Angular tutorial for beginners:
    https://youtu.be/k5E2AVpwsko

Cách làm nội dung ẩn hiện bằng javascript đơn giản

  • Tác giả: canxem.com
  • Đánh giá: 5 ⭐ ( 1097 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Hướng dẫn cách tạo một bảng nội dung với tính năng ẩn hiện show hide. Cách này thường dùng tạo một trang hướng dẫn nhanh.

Hàm ẩn danh (Anonymous Function) trong JavaScript

  • Tác giả: laptrinhcanban.com
  • Đánh giá: 5 ⭐ ( 2701 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Có 4 phương pháp tạo hàm trong JavaScript là sử dụng từ khóa function, sử dụng biểu thức hàm, sử dụng hàm tạo (constructor) và sử dụng hàm Arrow. Trong đó, với phương pháp sử dụng biểu thức hàm để tạo

Anonymous function trong javascript

  • Tác giả: freetuts.net
  • Đánh giá: 4 ⭐ ( 6257 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Tìm hiểu anonymous function là gì? nonymous functions hay còn gọi là hàm ẩn danh, là một hàm được sinh ra đúng vào thời điểm chạy của chương trình.

Cách sử dụng Anonymous Function trong JS

  • Tác giả: niithanoi.edu.vn
  • Đánh giá: 5 ⭐ ( 6930 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Trong hướng dẫn này, bạn sẽ được tìm hiểu về hàm ẩn danh (anonymous Function) trong JavaScript và cách chúng ta thường sử dụng hàm ẩn danh.

Hàm prompt() trong JavaScript

  • Tác giả: hocjavascript.net
  • Đánh giá: 5 ⭐ ( 2841 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Bài viết này sẽ hướng dẫn bạn cách sử dụng hàm prompt() trong JavaScript. Trong thế giới web, sẽ có rất nhiều lúc bạn cần lấy thông tin (input)

Phần tử ẩn / hiển thị JavaScript

  • Tác giả: qastack.vn
  • Đánh giá: 3 ⭐ ( 5631 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: [Tìm thấy giải pháp!] function showStuff(id, text, btn) { document.getElementById(id).style.display = 'block'; // hide the lorem ipsum text document.getElementById(text).style.display =…

Xem thêm các bài viết khác thuộc chuyên mục: Kiến thức lập trình

Xem Thêm  JavaScript Split - Cách tách một chuỗi thành một mảng trong JS - javascript làm thế nào để tách một chuỗi

By ads_php