Tại sao biểu mẫu được sử dụng trong JavaScript?

Xem phần 8J của cuốn sách. Tuy nhiên, trang này chứa thông tin tổng quan đầy đủ hơn về cách viết tập lệnh xác thực biểu mẫu cơ bản

Trên trang này, tôi cung cấp mã bạn cần để kiểm tra đầu vào của người dùng trong biểu mẫu. Sử dụng các đoạn mã này, bạn có thể viết các tập lệnh của riêng mình để xác thực các biểu mẫu

Tôi không thể cung cấp cho bạn một kịch bản hoàn chỉnh vì mỗi biểu mẫu và mỗi lần kiểm tra đều khác nhau. Bạn sẽ phải sử dụng các yếu tố tôi giải thích trên trang này để xây dựng kịch bản của riêng bạn. Tôi đã tạo một biểu mẫu và tập lệnh mẫu mà bạn có thể nghiên cứu để hiểu rõ về nó

Trên trang này, tôi thảo luận về những hạn chế của việc sử dụng JavaScript để kiểm tra một biểu mẫu, sau đó tôi sẽ giải thích trình xử lý sự kiện onsubmit, tiếp theo là một số phương thức và thuộc tính của chính biểu mẫu đó. Sau đó, đã đến lúc truy cập các phần tử biểu mẫu và cú pháp cụ thể để truy cập giá trị do người dùng xác định của các phần tử biểu mẫu

Xem thêm bài viết xuất sắc của Jeff Howden Forms & JavaScript Living Together in Harmony để biết một số lỗi phổ biến nhất về khả năng sử dụng và giải pháp khắc phục

Hạn chế

Trước hết, bạn nên có ý tưởng rõ ràng về điều gì sẽ xảy ra khi người dùng gửi biểu mẫu có tập lệnh xác thực JavaScript

  1. Biểu mẫu được kiểm tra bằng JavaScript giống như biểu mẫu được mô tả bên dưới. Nếu tập lệnh tìm thấy lỗi, quá trình gửi sẽ bị tạm dừng tại đây. Người dùng nhìn thấy cảnh báo và được yêu cầu nhập lại một số dữ liệu
  2. Nếu không có gì sai—hoặc nếu JavaScript bị tắt—biểu mẫu sẽ được gửi đến máy chủ và được xử lý bằng tập lệnh CGI
  3. Nếu tập lệnh CGI phát hiện lỗi, nó sẽ tạo một số HTML có thông báo lỗi và gửi lại cho người dùng. Trong trường hợp này, người dùng phải quay lại biểu mẫu, nhập lại một số giá trị và gửi lại
  4. Nếu không tìm thấy lỗi nào, tập lệnh CGI sẽ làm bất cứ điều gì nó phải làm với dữ liệu và hướng người dùng đến trang Cảm ơn

Như bạn thấy, biểu mẫu được kiểm tra lỗi hai lần. bằng JavaScript và bằng tập lệnh CGI. Kiểm tra CGI luôn hoạt động, vì CGI là phía máy chủ. Kiểm tra JavaScript chỉ hoạt động khi người dùng đã bật JavaScript. Theo đó, kiểm tra CGI là đáng tin cậy nhất. nó luôn hoạt động bất kể trình duyệt nào được sử dụng. Vậy thì tại sao lại sử dụng kiểm tra JavaScript?

Kiểm tra JavaScript rất hữu ích ngoài kiểm tra CGI vì nó có thể bắt lỗi trước khi biểu mẫu thực sự được gửi đến máy chủ. Do đó, người dùng không phải sử dụng nút quay lại để quay lại biểu mẫu, điều có thể gây nhầm lẫn và sau đó tìm kiếm trường biểu mẫu không chính xác, điều này có thể gây nhầm lẫn hơn nữa. Do đó, kiểm tra JavaScript thân thiện với người dùng hơn kiểm tra CGI

Ngoài ra, khi bạn sử dụng JavaScript, máy chủ không cần tốn quá nhiều thời gian để xử lý lỗi và do đó sẽ nhanh hơn một chút. Điều này chỉ quan trọng nếu bạn có rất nhiều biểu mẫu, nhưng bạn nên ghi nhớ điều này

Vì vậy, JavaScript không phải là một phương pháp an toàn để bắt lỗi, nhưng nó rất hữu ích khi bổ sung cho kiểm tra CGI vì nó giảm tải cho máy chủ và thân thiện hơn với người dùng. Do đó, tôi khuyên bạn nên sử dụng cả kiểm tra biểu mẫu JavaScript và kiểm tra biểu mẫu CGI. Bằng cách này, bạn có được cả sự thân thiện và bảo mật của người dùng

onsubmit

Khi sử dụng JavaScript để kiểm tra biểu mẫu, điều đầu tiên bạn cần là trình xử lý sự kiện

function checkscript[] {
	if [some value is/is not something] {
		// something is wrong
		alert['alert user of problem'];
		return false;
	}
	else if [another value is/is not something] {
		// something else is wrong
		alert['alert user of problem'];
		return false;
	}

	// If the script makes it to here, everything is OK,
	// so you can submit the form

	return true;
}
7. Trình xử lý sự kiện này chỉ định một tập lệnh được thực thi khi người dùng gửi biểu mẫu. Tập lệnh đó là nơi bạn kiểm tra xem một số trường nhất định có giá trị hay không, liệu người dùng đã chọn ít nhất một hộp kiểm chưa và bất kỳ kiểm tra nào khác mà bạn cho là cần thiết

Cú pháp chung là

nơi

function checkscript[] {
	if [some value is/is not something] {
		// something is wrong
		alert['alert user of problem'];
		return false;
	}
	else if [another value is/is not something] {
		// something else is wrong
		alert['alert user of problem'];
		return false;
	}

	// If the script makes it to here, everything is OK,
	// so you can submit the form

	return true;
}
8 là tên của kịch bản. Tập lệnh này sẽ trả về
function checkscript[] {
	if [some value is/is not something] {
		// something is wrong
		alert['alert user of problem'];
		return false;
	}
	else if [another value is/is not something] {
		// something else is wrong
		alert['alert user of problem'];
		return false;
	}

	// If the script makes it to here, everything is OK,
	// so you can submit the form

	return true;
}
9 hoặc
function checkscript[] {
	if [some value is/is not something] {
		// something is wrong
		alert['alert user of problem'];
		return false;
	}
	else if [another value is/is not something] {
		// something else is wrong
		alert['alert user of problem'];
		return false;
	}

	// If the script makes it to here, everything is OK,
	// so you can submit the form

	return true;
}
0. Nếu trả lại
function checkscript[] {
	if [some value is/is not something] {
		// something is wrong
		alert['alert user of problem'];
		return false;
	}
	else if [another value is/is not something] {
		// something else is wrong
		alert['alert user of problem'];
		return false;
	}

	// If the script makes it to here, everything is OK,
	// so you can submit the form

	return true;
}
0, biểu mẫu sẽ không được gửi. Nếu một trong hai
function checkscript[] {
	if [some value is/is not something] {
		// something is wrong
		alert['alert user of problem'];
		return false;
	}
	else if [another value is/is not something] {
		// something else is wrong
		alert['alert user of problem'];
		return false;
	}

	// If the script makes it to here, everything is OK,
	// so you can submit the form

	return true;
}
9 hoặc
function checkscript[] {
	if [some value is/is not something] {
		// something is wrong
		alert['alert user of problem'];
		return false;
	}
	else if [another value is/is not something] {
		// something else is wrong
		alert['alert user of problem'];
		return false;
	}

	// If the script makes it to here, everything is OK,
	// so you can submit the form

	return true;
}
0 được trả lại thì tập lệnh sẽ dừng

Vì vậy, kịch bản chung trở thành một cái gì đó giống như

function checkscript[] {
	if [some value is/is not something] {
		// something is wrong
		alert['alert user of problem'];
		return false;
	}
	else if [another value is/is not something] {
		// something else is wrong
		alert['alert user of problem'];
		return false;
	}

	// If the script makes it to here, everything is OK,
	// so you can submit the form

	return true;
}

Tất nhiên chức năng này có thể trở nên phức tạp hơn nhiều nếu bạn phải kiểm tra một biểu mẫu phức tạp với rất nhiều nút radio và các thứ. Ý tưởng chung vẫn giữ nguyên, tuy nhiên. Bạn xem qua các yếu tố, kiểm tra bất cứ thứ gì bạn muốn kiểm tra và ngay khi bạn tìm thấy bất kỳ lỗi nào, bạn

function checkscript[] {
	if [some value is/is not something] {
		// something is wrong
		alert['alert user of problem'];
		return false;
	}
	else if [another value is/is not something] {
		// something else is wrong
		alert['alert user of problem'];
		return false;
	}

	// If the script makes it to here, everything is OK,
	// so you can submit the form

	return true;
}
3, sau đó tập lệnh dừng lại và biểu mẫu không được gửi

Khi bạn đã tìm thấy lỗi, bạn nên thông báo cho người dùng về sự cố. Điều này từng được thực hiện bởi một

function checkscript[] {
	if [some value is/is not something] {
		// something is wrong
		alert['alert user of problem'];
		return false;
	}
	else if [another value is/is not something] {
		// something else is wrong
		alert['alert user of problem'];
		return false;
	}

	// If the script makes it to here, everything is OK,
	// so you can submit the form

	return true;
}
4, nhưng ngày nay bạn có thể tạo thông báo lỗi và chèn chúng bên cạnh trường biểu mẫu

Chỉ ở phần cuối của kịch bản, khi bạn đã kiểm tra tất cả các yếu tố và không gặp lỗi nào, bạn

function checkscript[] {
	if [some value is/is not something] {
		// something is wrong
		alert['alert user of problem'];
		return false;
	}
	else if [another value is/is not something] {
		// something else is wrong
		alert['alert user of problem'];
		return false;
	}

	// If the script makes it to here, everything is OK,
	// so you can submit the form

	return true;
}
5, sau đó biểu mẫu được gửi

Các phương thức và thuộc tính của biểu mẫu

JavaScript có một số phương thức và thuộc tính tích hợp để xử lý các biểu mẫu. Ba trong số đó đặc biệt quan trọng

Bạn có thể gửi biểu mẫu bằng cách sử dụng phương pháp

function checkscript[] {
	if [some value is/is not something] {
		// something is wrong
		alert['alert user of problem'];
		return false;
	}
	else if [another value is/is not something] {
		// something else is wrong
		alert['alert user of problem'];
		return false;
	}

	// If the script makes it to here, everything is OK,
	// so you can submit the form

	return true;
}
6. Để gửi biểu mẫu đầu tiên trên trang, hãy làm

document.forms[0].submit[]

Xin lưu ý rằng khi biểu mẫu được gửi bởi JavaScript, trình xử lý sự kiện

function checkscript[] {
	if [some value is/is not something] {
		// something is wrong
		alert['alert user of problem'];
		return false;
	}
	else if [another value is/is not something] {
		// something else is wrong
		alert['alert user of problem'];
		return false;
	}

	// If the script makes it to here, everything is OK,
	// so you can submit the form

	return true;
}
7 sẽ không bao giờ được thực thi.
Để đặt lại biểu mẫu, hãy

document.forms[0].reset[]

Tôi giả sử, nhưng chưa kiểm tra, rằng trình xử lý sự kiện

function checkscript[] {
	if [some value is/is not something] {
		// something is wrong
		alert['alert user of problem'];
		return false;
	}
	else if [another value is/is not something] {
		// something else is wrong
		alert['alert user of problem'];
		return false;
	}

	// If the script makes it to here, everything is OK,
	// so you can submit the form

	return true;
}
8 cũng không được thực thi nếu bạn đặt lại biểu mẫu thông qua JavaScript

Cuối cùng, bạn có thể thay đổi HÀNH ĐỘNG của một biểu mẫu nếu bạn muốn

document.forms[0].action = 'the_other_script.pl';

Điều này có thể rất hữu ích nếu một biểu mẫu phải được gửi tới một tập lệnh khác trong một số trường hợp

Truy cập các phần tử biểu mẫu

Tập lệnh xác thực biểu mẫu cần truy cập biểu mẫu trong trang HTML để xác định giá trị nào người dùng đã điền vào. Vì vậy, trước tiên chúng ta phải nhập biểu mẫu bằng DOM cấp 0. Cú pháp chung để truy cập một phần tử biểu mẫu là

function checkscript[] {
	if [some value is/is not something] {
		// something is wrong
		alert['alert user of problem'];
		return false;
	}
	else if [another value is/is not something] {
		// something else is wrong
		alert['alert user of problem'];
		return false;
	}

	// If the script makes it to here, everything is OK,
	// so you can submit the form

	return true;
}
0

Khi trang được tải, JavaScript tạo một mảng

function checkscript[] {
	if [some value is/is not something] {
		// something is wrong
		alert['alert user of problem'];
		return false;
	}
	else if [another value is/is not something] {
		// something else is wrong
		alert['alert user of problem'];
		return false;
	}

	// If the script makes it to here, everything is OK,
	// so you can submit the form

	return true;
}
9 trong đó nó đặt tất cả các biểu mẫu trên trang. Mẫu đầu tiên là
document.forms[0].submit[]
0, mẫu thứ hai là
document.forms[0].submit[]
1, v.v.

Mỗi biểu mẫu có một mảng khác trong đó JavaScript đặt tất cả các phần tử trong biểu mẫu. Các phần tử đầu tiên là

document.forms[0].submit[]
2, thứ hai là
document.forms[0].submit[]
3, v.v. Mỗi
document.forms[0].submit[]
4

Tại sao chúng tôi sử dụng biểu mẫu trong JS?

Nó cho phép chúng tôi thêm trình xử lý sự kiện cho phép chúng tôi đặt các xác thực khác nhau trên biểu mẫu . Cuối cùng, biểu mẫu đã sẵn sàng với sự kết hợp giữa mã HTML và JavaScript.

Tại sao tôi nên sử dụng phần tử biểu mẫu?

Nếu một cái gì đó là một biểu mẫu, hãy sử dụng một phần tử biểu mẫu. Điều này giúp các thiết bị hỗ trợ như trình đọc màn hình hiểu rõ hơn nội dung của trang và cung cấp cho người dùng những thông tin có ý nghĩa hơn . Thực sự không có nhiều điều khác để nói ở đây. Nếu một cái gì đó là một biểu mẫu, hãy sử dụng phần tử biểu mẫu.

Ý nghĩa của hình thức là gì?

Vì lý do này, biểu mẫu trở thành một công cụ đặc quyền để phân tích lịch sử hình ảnh . yếu tố mà qua đó người ta có thể chuyển từ trải nghiệm cá nhân về tác phẩm [tác động của nó] sang các giả định lịch sử về bản chất của tác phẩm đó [cấu trúc của nó], đến quá trình sản xuất và bối cảnh của nó, và ngược lại.

Mục đích của đối tượng biểu mẫu là gì?

Đối tượng biểu mẫu đại diện cho một biểu mẫu HTML. Nó được sử dụng để thu thập đầu vào của người dùng thông qua các yếu tố như trường văn bản, hộp kiểm và nút radio, chọn tùy chọn, vùng văn bản, nút gửi, v.v. .

Chủ Đề