Cách tạo biểu mẫu trong javascript

Hướng dẫn này giải thích những điều cơ bản về biểu mẫu web, cách thức hoạt động và cách bạn có thể tạo biểu mẫu web từ đầu

Biểu mẫu web hoạt động như thế nào?

Cách tạo biểu mẫu trong javascript

  1. Một khách truy cập vào một trang web có chứa một biểu mẫu

  2. Trình duyệt web hiển thị dạng HTML

  3. Khách truy cập điền vào biểu mẫu và gửi

  4. Trình duyệt gửi dữ liệu biểu mẫu đã gửi đến máy chủ web

  5. Tập lệnh xử lý biểu mẫu chạy trên máy chủ web xử lý dữ liệu biểu mẫu.
    Các bước xử lý có thể bao gồm.

  6. gửi biểu mẫu qua email

  7. lưu nội dung gửi vào bảng cơ sở dữ liệu hoặc tệp

  8. Một trang phản hồi được gửi trở lại trình duyệt

Các phần của biểu mẫu web

Một biểu mẫu web tiêu chuẩn có các phần sau

  1. Mã HTML cho biểu mẫu
  2. Xác thực đầu vào
  3. Tập lệnh xử lý biểu mẫu

1. Mã HTML cho biểu mẫu

HTML có các thẻ để tạo biểu mẫu web và các phần tử đầu vào. Hướng dẫn biểu mẫu HTML chứa giải thích chi tiết về cách soạn biểu mẫu web. Đây là một số mã mẫu cho một biểu mẫu HTML đơn giản

<form action="cgi-bin/formmail.pl" method="post"> 
Name: <input type="text" name="name" value="" size="25" maxlength="50" /> 
Email: <input type="text" name="email" value="" size="25" maxlength="50" /> 
<input type="submit" name="submit" value="sign me up!" /> 
</form>

Đoạn mã HTML ở trên tạo một biểu mẫu như thế này.

Cách tạo biểu mẫu trong javascript

2. Xác thực đầu vào

Xác thực đầu vào là điều cần thiết cho bất kỳ biểu mẫu web nào vì nó giúp khách truy cập trang web gửi thông tin đầu vào phù hợp. Xác thực đầu vào thường được viết bằng ngôn ngữ kịch bản phía máy khách - JavaScript. (JavaScript chạy bên trong trình duyệt web của khách truy cập và đưa ra phản hồi nhanh chóng)

Tập lệnh Xác thực biểu mẫu JavaScript miễn phí này có thể giúp bạn nhanh chóng đính kèm các xác thực đầu vào vào biểu mẫu của mình

Cách tạo biểu mẫu trong javascript

Cũng cần phải thực hiện các xác nhận ở phía máy chủ. Điều này là do JavaScript là một thành phần tùy chọn có thể bị tắt và tránh. Tập lệnh phía máy chủ phải đảm bảo rằng dữ liệu mà nó xử lý là một lần gửi biểu mẫu hợp lệ

Java và JavaScript là những ngôn ngữ hoàn toàn khác nhau. Không có gì chung giữa họ

3. Tập lệnh xử lý biểu mẫu

Khi bạn gửi biểu mẫu web, trình duyệt web sẽ tìm thuộc tính 'hành động' của thẻ biểu mẫu. Ví dụ: trong mã biểu mẫu HTML mẫu ở trên, thuộc tính hành động trỏ đến một tập lệnh nằm ở

<FORM NAME="myform" ACTION="" METHOD="GET">
Enter something in the box: <BR>
<INPUT TYPE="text" NAME="inputbox" VALUE=""><P>
<INPUT TYPE="button" NAME="button" Value="Click" onClick="testResults(this.form)">
</FORM>
4. Trình duyệt web gửi dữ liệu gửi biểu mẫu tới tập lệnh được đề cập trong thuộc tính 'hành động'

Tập lệnh phía máy chủ có thể bằng Perl, PHP hoặc ASP tùy thuộc vào những gì máy chủ web hỗ trợ

Tập lệnh hành động trên máy chủ có thể được tạo tùy chỉnh hoặc có thể là tập lệnh được tạo sẵn. Có các tập lệnh được tạo sẵn có thể gửi các lần gửi biểu mẫu đến địa chỉ email của bạn. Xem trang Kịch bản thư biểu mẫu. Để biết ví dụ về việc lưu các lần gửi biểu mẫu vào cơ sở dữ liệu, hãy xem trang tập lệnh xử lý biểu mẫu

Tạo biểu mẫu web

Để tạo một biểu mẫu web hoàn chỉnh, bạn cần viết mã ba phần này của biểu mẫu

  • Mã HTML cho biểu mẫu. Tham khảo hướng dẫn biểu mẫu HTML để biết thêm thông tin về cách viết mã phần HTML của biểu mẫu- Xác thực đầu vào. Bạn cần biết các khái niệm cơ bản về JavaScript để viết mã xác thực phía máy khách. Sau khi bạn biết cú pháp JavaScript cơ bản, tập lệnh xác thực biểu mẫu JavaScript sẽ giúp mã hóa các xác thực đầu vào

Lưu ý rằng phần xác thực đầu vào JavaScript là hoàn toàn tùy chọn mặc dù xác thực phía máy khách có thể làm cho biểu mẫu thân thiện hơn với người dùng. - Tập lệnh xử lý biểu mẫu phía máy chủ. Bạn có thể viết mã một tập lệnh xử lý biểu mẫu tùy chỉnh (ví dụ. Biểu mẫu PHP để gửi email và hướng dẫn biểu mẫu PHP) hoặc sử dụng tập lệnh thư biểu mẫu được tạo sẵn

Trong tất cả các tính năng mà JavaScript có thể mang, các tính năng xử lý biểu mẫu của nó là một trong những tính năng được tìm kiếm và sử dụng nhiều nhất

  • Cách tạo biểu mẫu trong javascript
  • Cách tạo biểu mẫu trong javascript
  • Cách tạo biểu mẫu trong javascript
  • Cách tạo biểu mẫu trong javascript
  • Cách tạo biểu mẫu trong javascript
  • Cách tạo biểu mẫu trong javascript

Bởi Gordon Mccomb

Thế giới Java.

Javascript đội nhiều mũ. Bạn có thể sử dụng JavaScript để tạo hiệu ứng đặc biệt. Bạn có thể sử dụng JavaScript để làm cho các trang HTML của mình "thông minh hơn" bằng cách khai thác khả năng ra quyết định của nó. Và bạn có thể sử dụng JavaScript để nâng cao các biểu mẫu HTML. Ứng dụng cuối cùng này có tầm quan trọng đặc biệt. Trong tất cả các tính năng mà JavaScript có thể mang, các tính năng xử lý biểu mẫu của nó là một trong những tính năng được tìm kiếm và sử dụng nhiều nhất

Không có gì khiến trái tim của một nhà xuất bản Web sợ hãi hơn ba chữ cái này. C-G-I. CGI (viết tắt của common gateway interface), là một cơ chế vận chuyển dữ liệu an toàn từ máy khách (trình duyệt) đến máy chủ. Nó thường được sử dụng để truyền dữ liệu từ dạng HTML sang máy chủ

Với JavaScript bên cạnh, bạn có thể xử lý các biểu mẫu đơn giản mà không cần gọi máy chủ. Và khi cần gửi biểu mẫu tới chương trình CGI, bạn có thể yêu cầu JavaScript đảm nhận tất cả các yêu cầu sơ bộ, chẳng hạn như xác thực đầu vào để đảm bảo rằng người dùng đã đánh dấu mọi biểu mẫu. Trong cột này, chúng ta sẽ xem xét kỹ kết nối biểu mẫu JavaScript, bao gồm cách sử dụng đối tượng biểu mẫu của JavaScript, cách đọc và đặt nội dung biểu mẫu cũng như cách kích hoạt các sự kiện JavaScript bằng thao tác điều khiển biểu mẫu. Chúng tôi cũng sẽ giới thiệu cách sử dụng JavaScript để xác minh đầu vào của biểu mẫu và gửi biểu mẫu tới chương trình CGI

Học JavaScript

Bài viết này là một phần của kho lưu trữ nội dung kỹ thuật JavaWorld. Bạn có thể tìm hiểu nhiều về lập trình JavaScript bằng cách đọc các bài viết trong loạt bài về JavaScript, chỉ cần lưu ý rằng một số thông tin có thể đã lỗi thời. Xem "Sử dụng các đối tượng tích hợp sẵn của JavaScript" và "Gỡ lỗi chương trình JavaScript" để biết thêm về cách lập trình với JavaScript

Tạo biểu mẫu

Có một số điểm khác biệt giữa biểu mẫu HTML thẳng và biểu mẫu được tăng cường JavaScript. Vấn đề chính là biểu mẫu JavaScript dựa trên một hoặc nhiều trình xử lý sự kiện, chẳng hạn như onClick hoặc onSubmit. Chúng gọi một hành động JavaScript khi người dùng thực hiện điều gì đó trong biểu mẫu, chẳng hạn như nhấp vào nút. Trình xử lý sự kiện, được đặt cùng với các thuộc tính còn lại trong thẻ biểu mẫu HTML, sẽ ẩn đối với trình duyệt không hỗ trợ JavaScript. Do đặc điểm này, bạn thường có thể sử dụng một biểu mẫu cho cả trình duyệt JavaScript và không phải JavaScript

Các đối tượng điều khiển biểu mẫu điển hình -- còn được gọi là "widget" -- bao gồm các đối tượng sau

  • Hộp văn bản để nhập một dòng văn bản
  • Nút nhấn để chọn một hành động
  • Các nút radio để thực hiện một lựa chọn trong một nhóm các tùy chọn
  • Các hộp kiểm để chọn hoặc bỏ chọn một tùy chọn độc lập, duy nhất

Tôi sẽ không bận tâm đến việc liệt kê tất cả các thuộc tính của các điều khiển (widget) này và cách sử dụng chúng trong HTML. Hầu hết mọi tài liệu tham khảo về HTML sẽ cung cấp cho bạn thông tin chi tiết. Để sử dụng với JavaScript, bạn phải luôn nhớ cung cấp tên cho biểu mẫu và mỗi điều khiển bạn sử dụng. Tên cho phép bạn tham chiếu đối tượng trong trang được tăng cường JavaScript của bạn

Hình thức điển hình trông như thế này. Lưu ý rằng tôi đã cung cấp các thuộc tính NAME= cho tất cả các điều khiển biểu mẫu, bao gồm cả chính biểu mẫu đó

<FORM NAME="myform" ACTION="" METHOD="GET">
Enter something in the box: <BR>
<INPUT TYPE="text" NAME="inputbox" VALUE=""><P>
<INPUT TYPE="button" NAME="button" Value="Click" onClick="testResults(this.form)">
</FORM>
  • FORM NAME="myform" xác định và đặt tên cho biểu mẫu. Ở những nơi khác trong JavaScript, bạn có thể tham khảo biểu mẫu này bằng tên myform. Tên mà bạn đặt cho biểu mẫu là tùy thuộc vào bạn, nhưng tên đó phải tuân thủ các quy tắc đặt tên hàm/biến tiêu chuẩn của JavaScript (không có khoảng trắng, không có ký tự lạ ngoại trừ dấu gạch dưới, v.v. )
  • ACTION="" xác định cách bạn muốn trình duyệt xử lý biểu mẫu khi biểu mẫu được gửi tới chương trình CGI đang chạy trên máy chủ. Vì ví dụ này không được thiết kế để gửi bất kỳ thứ gì nên URL cho chương trình CGI bị bỏ qua
  • METHOD="GET" xác định dữ liệu phương thức được truyền đến máy chủ khi biểu mẫu được gửi. Trong trường hợp này, thuộc tính là phù hợp vì mẫu ví dụ không gửi bất cứ thứ gì
  • INPUT TYPE="text" xác định đối tượng hộp văn bản. Đây là đánh dấu HTML tiêu chuẩn
  • INPUT TYPE="button" xác định đối tượng nút. Đây là đánh dấu HTML tiêu chuẩn ngoại trừ trình xử lý onClick
  • onClick="testResults(cái này. form)" là một trình xử lý sự kiện -- nó xử lý một sự kiện, trong trường hợp này là nhấp vào nút. Khi nút được nhấp, JavaScript sẽ thực thi biểu thức trong dấu ngoặc kép. Biểu thức nói gọi hàm testResults ở nơi khác trên trang và chuyển cho nó đối tượng biểu mẫu hiện tại

Nhận một giá trị từ một đối tượng biểu mẫu

Hãy thử nghiệm với việc lấy các giá trị từ các đối tượng biểu mẫu. Tải trang, sau đó nhập nội dung nào đó vào hộp văn bản. Nhấp vào nút và những gì bạn đã nhập được hiển thị trong hộp cảnh báo

Liệt kê 1. mẫu thử nghiệm. html

<HTML>
<HEAD>
<TITLE>Test Input</TITLE>
<SCRIPT LANGUAGE="JavaScript">
function testResults (form) {
    var TestVar = form.inputbox.value;
    alert ("You typed: " + TestVar);
}
</SCRIPT>
</HEAD>
<BODY>
<FORM NAME="myform" ACTION="" METHOD="GET">Enter something in the box: <BR>
<INPUT TYPE="text" NAME="inputbox" VALUE=""><P>
<INPUT TYPE="button" NAME="button" Value="Click" onClick="testResults(this.form)">
</FORM>
</BODY>
</HTML>

Đây là cách kịch bản hoạt động. JavaScript gọi hàm testResults khi bạn nhấp vào nút trong biểu mẫu. Hàm testResults được truyền vào đối tượng biểu mẫu bằng cú pháp this. biểu mẫu (từ khóa this tham chiếu điều khiển nút; biểu mẫu là thuộc tính của điều khiển nút và đại diện cho đối tượng biểu mẫu). Tôi đã đặt cho đối tượng biểu mẫu tên biểu mẫu bên trong hàm testResult, nhưng bạn có thể đặt bất kỳ tên nào bạn thích

Hàm testResults rất đơn giản -- nó chỉ sao chép nội dung của hộp văn bản vào một biến có tên là TestVar. Lưu ý cách nội dung hộp văn bản được tham chiếu. Tôi đã xác định đối tượng biểu mẫu mà tôi muốn sử dụng (được gọi là biểu mẫu), đối tượng trong biểu mẫu mà tôi muốn (được gọi là hộp nhập liệu) và thuộc tính của đối tượng mà tôi muốn (thuộc tính giá trị)

Thêm từ JavaWorld

Muốn có thêm hướng dẫn lập trình và tin tức?

Đặt giá trị trong đối tượng biểu mẫu

Thuộc tính giá trị của hộp nhập liệu, được hiển thị trong ví dụ trên, có thể đọc và ghi được. Nghĩa là, bạn có thể đọc bất cứ thứ gì được nhập vào hộp và bạn có thể ghi dữ liệu trở lại vào đó. Quá trình thiết lập giá trị trong một đối tượng biểu mẫu hoàn toàn ngược lại với việc đọc nó. Đây là một ví dụ ngắn để chứng minh việc đặt giá trị trong hộp văn bản biểu mẫu. Quá trình này tương tự như ví dụ trước, ngoại trừ lần này có hai nút. Nhấp vào nút "Đọc" và tập lệnh sẽ đọc những gì bạn đã nhập vào hộp văn bản. Nhấp vào nút "Viết" và tập lệnh viết một cụm từ đặc biệt khó hiểu vào hộp văn bản

Liệt kê 2. set_formval. html

Kiểm tra đầu vào

Enter something in the box:


  • Khi bạn nhấp vào nút "Đọc", JavaScript sẽ gọi hàm readText, hàm này sẽ đọc và hiển thị giá trị bạn đã nhập vào hộp văn bản
  • Khi bạn nhấp vào nút "Viết", JavaScript sẽ gọi hàm writeText, hàm viết "Chúc một ngày tốt lành. " trong hộp văn bản

Đọc các giá trị đối tượng biểu mẫu khác

Hộp văn bản có lẽ là đối tượng biểu mẫu phổ biến nhất mà bạn sẽ đọc (hoặc viết) bằng JavaScript. Tuy nhiên, bạn có thể sử dụng JavaScript để đọc và ghi giá trị từ hầu hết các đối tượng khác (lưu ý rằng JavaScript hiện không thể được sử dụng để đọc hoặc ghi dữ liệu bằng hộp văn bản mật khẩu). Ngoài các hộp văn bản, JavaScript có thể được sử dụng với

  • Hộp văn bản ẩn (TYPE="hidden")
  • Nút radio (TYPE="radio")
  • Hộp kiểm (TYPE="hộp kiểm")
  • Text area ()
  • Lists (