Tạo form trong HTML

FORM được sử dụng để chuyển dữ liệu liệu từ người dùng nhập vào đến web server.
Form bao gồm các thành phần nhập liệu (input elements) như: Text box, hộp kiểm, nút tùy chọn, Submit…
Bài viết này mình sẽ hướng dẫn các bạn một số các thành phần của Form hay được sử dụng nhất. Mình sẽ cố gắng giải thích để mọi người có thể hiểu.
Trong tài liệu HTML form được định nghĩa bằng cặp thẻ <form></form>
Các thẻ nằm giữa cặp thẻ <form></form> được gọi là các thành phần của Form

Các thành phần Form

Thành phần được sử dụng nhiều nhất trong form là thẻ <input />. Ta sử dụng <input /> để định nghĩa các thành phần của form như: Trường nhập liệu Text, các hộp kiểm, các nút tùy chọn, trường password, thành phần submit, các button, File upload.

1. Trường text
User name:

Code:


2. Trường password
Pass:

Code:


3. Checkbox (Hộp kiểm)

Cho phép chọn nhiều thành phần từ danh sách đưa ra

Send my to email
Send my to phone

 Send my to email
Send my to phone

4. Radio button

Khác với checkbox, Radio chỉ phép phép chọn một thành phần từ danh sách đưa ra, các phần tử trong danh sách phải có cùng tên, như ví dụ sau ta
sẽ tạo ra hai thành phần Radio button có cùng tên là name=”gender”

Male
Female

 Male
 Female

5. File upload


6. Button

Tạo ra một nút bấm trên form


7. Submit Button

Tạo nút submit trên form. Khi nút Submit được nhấn, dữ liệu trên form sẽ đuợc xử lý và gửi đi


8. Reset Button

Tạo nút Reset trên form. Khi nhấn nút Reset dữ liệu nhập vào form sẽ được reset về giá trị ban đầu của form


Ta nhận thấy sự khác biệt giữa các thành phần input là thuộc tính type. Thuộc tính type sẽ quy định thành phần input này là Text, password, checkbox, hay button …

9. Dropdown list

Student
Bussiness
Manager
Other…


KẾT LUẬN

– Mỗi thành phần form đều được gán một tên (name=”ten_thanh_phan”): đây chính là tên biến được sử dụng trong các ngôn ngữ lập trình web như php hay asp.net…, Riêng thành phần Radio trong cùng một nhóm sẽ được đặt cùng tên.

– Thuộc tính value=”Giá trị”: đây là giá trị (dữ liệu) ban đầu của thành phần form, các thành phần không có thuộc tính value giá có giá trị ban đầu là rỗng (null).

– Các Phương thức hoạt động của form bạn có thể xem ở các bài tiếp thep.

Top 5 trường đại học tốt nhất để học công nghệ thông tin

Nếu bạn chọn theo học ngành CNTT nhưng vẫn chưa chọn được trường đại học thì bài viết này là dành cho bạn. Dưới đây là những trường đại học tốt nhất để học CNTT.

Đại học Bách khoa Hà Nội

Đây là một trong những nơi đào tạo ngành công nghệ thông tin đầu tiên trên cả nước. Với lịch sử lâu đời và bề dày kinh nghiệm, kỹ sư Bách Khoa vẫn là luôn được xã hội đánh giá cao.

Viện Công nghệ thông tin và Truyền thông gồm các đơn vị trực thuộc sau:

* Khối các đơn vị giảng dạy

– Bộ môn Công nghệ phần mềm

– Bộ môn Hệ thống thông tin

– Bộ môn Khoa học máy tính

– Bộ môn Kỹ thuật máy tính

– Bộ môn Mạng và truyền thông

– Trung tâm máy tính

– Chương trình đào tạo Việt Nhật (dự án HEDSPI)

– Các phòng thí nghiệm phục vụ công tác đào tạo

* Trung tâm nghiên cứu, phát triển và ứng dụng CNTT-TT

– PTN Công nghệ phần mềm và Quản trị CNTT

– PTN Công nghệ tri thức và dữ liệu

– PTN Công nghệ mạng và Truyền thông

– PTN Thiết kế hệ nhúng và ứng dụng

– PTN Công nghệ tính toán, đa phương tiện và mô phỏng

Địa chỉ viện: https://soict.hust.edu.vn/

Đại học Công Nghệ – ĐHQGHN

Đại học Công nghệ nổi bật với chất lượng đào tạo hàng đầu về CNTT kể cả giáo dục mũi nhọn, với các thầy cô trong khoa đều là các giáo sư, tiến sĩ đầu ngành. Trong các kỳ thi CNTT trong nước, Đại học Công nghệ luôn đứng ở những top đầu.

Sinh viên Đại học Công nghệ rất năng động. Vào đây bạn sẽ được dạo quang khuôn viên của ĐHQGHN vô cùng đẹp và ở cạnh rất nhiều đại học khác.

Địa chỉ khoa: http://fit.uet.vnu.edu.vn/

Trường Đại học Khoa học Tự nhiên, ĐHQG-HCM

Trường ĐH KHTN là trung tâm đào tạo đại học, sau đại học, cung cấp nguồn nhân lực, đội ngũ chuyên gia trình độ cao trong các lĩnh vực khoa học cơ bản, khoa học liên ngành, khoa học công nghệ mũi nhọn, có năng lực sáng tạo, làm việc trong môi trường cạnh tranh quốc tế; là nơi thực hiện những nghiên cứu khoa học đỉnh cao tạo ra các sản phẩm tinh hoa đáp ứng nhu cầu phát triển KHCN và yêu cầu phát triển kinh tế – xã hội ngày càng cao của đất nước, phù hợp với xu thế phát triển thế giới.

Trường Đại học FPT

Là một trường Đại học tư thục tại Việt Nam, thuộc tập đoàn công nghệ FPT. Học ở đây bạn sẽ có cơ hội học tập rất thực tiễn và tiếp xúc nhiều với doanh nghiệp, cơ hội việc làm sau khi ra trường là khá cao.

Trường cáo đào tạo một số ngành: Kỹ thuật phần mềm, Khoa học máy tính, An toàn thông tin.

Trở thành lập trình viên chuyên nghiệp từ một tay chơi poker – Haseeb Qureshi

Hôm nay mình sẽ kể cho các bạn nghe về câu chuyện về Haseeb Qureshi. Anh từ một tay chơi Poker chuyên nghiệp đến một nhà lập trình viên xuất sắc, nhận được 8 offer của các công ty lớn trong đó có Google, Uber, Airbnb…

yeulaptrinh.pw

Haseeb Qureshi chơi Poker từ năm 16 tuổi, anh nhanh chống trở thành một trong những người chơi Poker đẳng cấp thế giới và kiếm được khá nhiều tiền. Năm 21 tuổi, sau một scandal xảy ra trong nghề nghiệp của mình, anh quyết định từ bỏ việc chơi Poker.

Trở về nhà, anh dành nhiều thời gian suy ngẫm về quá khứ của mình, sau đó hoàn tất việc học Anh Ngữ/Triết Học của mình tại The University of Texas. Tháng 12/2013 Haseed cho ra đời quyển sách “How to Be a Poker Player: The Philosophy of Poker” và nó nhanh chống trở thành một trong những quyển sách viết về Poker bán rất chạy thời đó.

Tuy nhiên Haseeb cảm thấy thật sự không hạnh phúc, ông quyên góp toàn bộ số tiền mình kiếm được cho từ thiện và cho gia đình mình, anh giữ lại 10.000 USD để học những gì mình yêu thích.

Năm 2014 Haseed bắt đầu dấn thân vào ngành công nghiệp công nghệ cao, anh chọn Công Nghệ Thông Tin là bước đi tiếp theo của mình. Anh bắt đầu tự học thêm kiến thức cho mình. Để đi một con đường mới là không hề dễ dàng và Haseed lên kế hoạch và lộ trình học tập cho riêng mình.

Sau đây là từng bước chiến lược học tập của Haseed, mình xin chia sẽ với các bạn:
————-
1. Tham gia khóa học Thuật Toán miễn phí trên Coursera “Princeton Coursera course on algorithms”
Link: https://www.coursera.org/learn/algorithms-part1.

2. Đọc quyển “The Algorithm Design Manual” của Steven S Skiena để bổ sung các kiến thức nền tảng về Cấu Trúc Dữ Liệu và Giải Thuật.

3. Đọc quyển “Cracking the Coding Interview” Gayle Laakmann McDowell để lấy kinh nghiệm và lên chiến lược Interview phù hợp.

4. Nghe thường xuyên các tin tức về Software Engineering trên các trang như:
– Software Engineering Daily: http://softwareengineeringdaily.com/category/podcast/
– The Bike Shed: http://bikeshed.fm/
– Đọc tên tin tức tại Hacker News: https://news.ycombinator.com/

Theo Haseed thì có thể ban đầu việc nghe sẽ rất khó khăn với bạn nhưng bạn chỉ nghe thôi không cần hiểu dần dần bạn sẽ quen. Việc Nghe tin tức về lĩnh vực bạn sẽ giúp bạn nắm bắt nhanh các xu thế CNTT hiện nay, quen dần với các thuật ngữ phổ biến bằng Tiếng Anh trong CNTT và đó cũng là cách để bạn có thể nói chuyện với các Developer khác một cách chuyên nghiệp.

5. Về phần System Design and Architecture, Haseed khuyên bạn nên đọc các kiến thức tại:
– HiredInTech: http://www.hiredintech.com/system-design
– High Scalability: http://highscalability.com/all-time-favorites/
————–

Sau đó Haseed tham dự bootcamp một khóa học ngắn hạn (12 tuần) để Review lại kiến thức của mình tại App Academy. Với Haseed điều quan trọng nhất là bạn phải “study study study” và không được nản chí. Anh là người thường xuyên đến sớm nhất và về trể nhất trong các buổi học.

Năm 2016 là năm thành công rực rỡ của Haseed anh nhận được 8 lời mời làm việc tại Google, Uber, Yelp, and Airbnb… Sau đó anh quyết định gia nhập Airbnb và hiện nay đang là kỹ sư phần mềm quan trọng của Airbnb.

Haseed là tấm gương điển hình mà chúng ta nên lấy đó là động lực để phấn đấu. Mình hi vọng những chia sẽ này sẽ giúp ích cho các bạn.

Tác giả: thầy Phạm Nguyễn Sơn Tùng – HCMUS

NDCCARD – spoj

Đề bài:

Thuật toán:

  • Dùng mảng f[i] đánh dấu giá trị lớn nhất <= i trong dãy A.
  • Vậy nên các cặp 3 số là a[i], a[j], f[m-a[i]-a[j]].
  • Chú ý đề bài cho dãy A đôi một khác nhau nhé.

Code:

#include 

using namespace std;

const int oo = 500001;
const int MAXN = 10001;
int i, j, n, m, a[MAXN], tmp, res, f[oo];

int main() {
    cin >> n >> m;
    for (int i = 1; i <= n; i++) cin >> a[i];
    sort(a+1,a+n+1);
    tmp = 0;
    for (int i = a[1]; i <= m; i++) {
        if ((tmp < n) && (i >= a[tmp+1])) tmp++;
        f[i] = a[tmp];
    }
    for (int i = 1; i<= n-2; i++) {
        for (int j = i+1; j <= n-1; j++) {
            tmp = m - a[i] - a[j];
            if (tmp < 1) continue;
            tmp = f[tmp];
            if (tmp <= a[j]) continue;
            res = max(res, a[i] + a[j] + tmp);
        }
    }
    cout << res;
    return 0;
}
CONST fin='';
     fout='';
VAR res, i, j, n, m, x, min: longint;
    a, ok: array[1..1000000] of longint;
    f: text;
BEGIN
  Assign(f,fin);
  Reset(f);
  Readln(f,n,m);
  min:=maxlongint-1;
  For i:=1 to n do
    Begin
      Read(f,a[i]);
      ok[a[i]]:=a[i];
      If a[i]0 then
          Begin
            If (ok[x]<>a[i]) and (ok[x]<>a[j]) and (ok[i]<>0) then
              If a[i]+a[j]+ok[x]>res then res:=a[i]+a[j]+ok[x];
          End;
      End;
  Assign(f,fout);
  Rewrite(f);
  Writeln(f,res);
  Close(f);
END.