Hai nút gửi trong một hình thức


534

Tôi có hai nút gửi trong một hình thức. Làm cách nào để xác định cái nào bị tấn công máy chủ?


Xem xét thay đổi câu trả lời được chấp nhận cho câu trả lời của Vẹt .
Peter Mortensen

2
@PeterMortensen - Cả câu trả lời được chấp nhận và câu trả lời của Parrot đều không phải là câu trả lời hay nhất hiện nay. Xem câu trả lời của Leo cho giải pháp HTML5 mới hơn bằng cách sử dụng thuộc tính formaction. Hoặc xem câu trả lời của kiril để biết cách hiển thị HTML cho người dùng độc lập với giá trị được gửi tới trình duyệt - giải quyết vấn đề quốc tế hóa theo cách dễ mã hóa hơn câu trả lời của Greg hoặc Parrot.
ToolmakerSteve

Câu trả lời:


448

Nếu bạn đặt tên cho mỗi cái, tên được nhấp sẽ được gửi qua như bất kỳ đầu vào nào khác.

<input type="submit" name="button_1" value="Click me">

101
Cũng đảm bảo tên của nút có tên chính xác! Ví dụ: "nút-1" sẽ KHÔNG hoạt động. Có thể cứu ai đó rất nhiều rắc rối vì vậy hãy ghi nhớ điều này.
pdolinaj

22
Thông thường, tất cả các đầu vào trong biểu mẫu được gửi với biểu mẫu. Vì giá trị của nút chỉ được gửi nếu được nhấp, nên bạn phải tìm kiếm các giá trị biểu mẫu cho các tên được xác định trước này. Tôi nghĩ rằng câu trả lời khác ( stackoverflow.com/a/21778226/88409 ) liên quan đến việc cung cấp cho họ tất cả cùng tên, với các giá trị khác nhau, có ý nghĩa hơn. Sau đó, bạn chỉ cần lấy giá trị dưới một tên trường mẫu đã biết. Nó cũng làm cho rõ ràng hơn rằng chỉ một giá trị (giá trị được nhấp) sẽ được gửi cho tên đầu vào đã cho, giống như cách các nút radio hoạt động (cùng tên, các giá trị khác nhau).
Triynko

6
@Triynko, như Robin Green đã nói trong các bình luận của câu trả lời đó, cái này tốt hơn cho việc quốc tế hóa. Ví dụ: nếu trang được hiển thị bằng tiếng Tây Ban Nha, văn bản của các nút có thể sẽ khác nhau. Vì vậy, có logic của mã của bạn phụ thuộc vào văn bản của nút đó sẽ bị hỏng trong trường hợp đó. Đi theo tên sẽ an toàn hơn, vì đó là một giá trị không được hiển thị cho người dùng và do đó có thể được coi là biến "riêng tư" và ít hơn là một thông báo cho người dùng.
sfarbota

Để làm rõ nhận xét của @ sfarbota: Giải pháp đầu tiên được hiển thị trong câu trả lời của Parrot là có vấn đề, vì nó phụ thuộc vào việc kiểm tra giá trị hiển thị của người dùng . Điều đó không rõ ràng - mã bị phá vỡ khi thay đổi từ hiển thị của người dùng được coi là "dễ vỡ". Các thứ hai giải pháp thể hiện trong câu trả lời của Parrot là tốt - đó là giống như thế này. Giải pháp thứ hai của Parrot cũng hiển thị mã tương ứng để viết, do đó đây là một câu trả lời hữu ích hơn so với giải pháp này.
ToolmakerSteve

2
Xem câu trả lời của Leo cho giải pháp HTML5 mới hơn bằng cách sử dụng thuộc tính formaction. Hoặc xem câu trả lời của kiril để biết cách hiển thị HTML cho người dùng độc lập với giá trị được gửi tới trình duyệt - giải quyết vấn đề quốc tế hóa.
ToolmakerSteve

875

Giải pháp 1:
Cung cấp cho mỗi đầu vào một giá trị khác nhau và giữ nguyên tên:

<input type="submit" name="action" value="Update" />
<input type="submit" name="action" value="Delete" />

Sau đó, trong kiểm tra mã để xem cái nào được kích hoạt:

if ($_POST['action'] == 'Update') {
    //action for update here
} else if ($_POST['action'] == 'Delete') {
    //action for delete
} else {
    //invalid action!
}

Vấn đề với điều đó là bạn buộc logic của mình vào văn bản hiển thị của người dùng trong đầu vào.


Giải pháp 2:
Đặt cho mỗi người một tên duy nhất và kiểm tra $ _POST cho sự tồn tại của đầu vào đó:

<input type="submit" name="update_button" value="Update" />
<input type="submit" name="delete_button" value="Delete" />

Và trong mã:

if (isset($_POST['update_button'])) {
    //update action
} else if (isset($_POST['delete_button'])) {
    //delete action
} else {
    //no button pressed
}

37
Đối với mục đích i18n, có thể tốt hơn để sử dụng câu trả lời đã chọn.
Robin Green

11
@LaszloPapp như chính câu trả lời đã nói, nếu bạn sử dụng câu trả lời đã chọn ở trên, bạn có thể quốc tế hóa biểu mẫu (nghĩa là dịch sang các ngôn ngữ hoặc phương ngữ khác nhau) mà không ảnh hưởng đến logic. Nếu bạn sử dụng tùy chọn đầu tiên trong câu trả lời này, logic sẽ phụ thuộc vào ngôn ngữ mà biểu mẫu thực sự được trình bày.
Robin Green

1
@RobinGreen: Tôi nghĩ rằng hầu hết mọi người sẽ sử dụng logic thứ hai, phải không?
lpapp

5
i18n = i [quốc tế] n, và 18 là viết tắt của 18 chữ cái giữa chữ cái đầu tiên và chữ cái cuối cùng.
Butussy Butkus

18
OP đã không yêu cầu PHP.
Rudey

110

Một giải pháp thậm chí tốt hơn bao gồm sử dụng các thẻ nút để gửi biểu mẫu:

<form>
    ...
    <button type="submit" name="action" value="update">Update</button>
    <button type="submit" name="action" value="delete">Delete</button>
</form>

HTML bên trong nút (ví dụ: ..>Update<..những gì người dùng nhìn thấy; vì có HTML được cung cấp, valuekhông hiển thị cho người dùng; nó chỉ được gửi đến máy chủ. Cách này không gây bất tiện cho quốc tế hóa và nhiều ngôn ngữ hiển thị (trong giải pháp trước đây, nhãn của nút cũng là giá trị được gửi đến máy chủ).


13
Rõ ràng hành vi trình duyệt khác nhau; một số gửi thuộc tính value, số khác là chuỗi giữa các thẻ ... Vì vậy, hãy cẩn thận với cái này.
Jeroen Dierckx

1
Tôi nghĩ đoạn trích được cung cấp được hỗ trợ đầy đủ ( w3schools.com/tags/att_button_type.asp )
kiril

2
@kiril đoạn trích từ liên kết đó sử dụng hai loại khác nhau <button>: submitreset. Lưu ý rằng resetkhông gửi bất cứ điều gì, nó chỉ đặt lại biểu mẫu. Vì vậy, tranh luận của Jeroen vẫn còn.
fizruk

7
Ok, quyền của bạn. Sau đó, tôi đã kiểm tra Dự thảo làm việc HTML5 W3C. Trích dẫn: >> Thuộc tính value cung cấp giá trị của phần tử cho mục đích gửi biểu mẫu. Giá trị của phần tử là giá trị của thuộc tính giá trị của phần tử, nếu có một hoặc chuỗi trống khác. >> LƯU Ý: Một nút (và giá trị của nó) chỉ được bao gồm trong việc gửi biểu mẫu nếu chính nút đó được sử dụng để bắt đầu gửi biểu mẫu.
kiril

8
@Jeroen Bull. Những trình duyệt nào gửi văn bản giữa các thẻ? Một đầu vào hoặc nút chỉ nên gửi thuộc tính 'value'. Một nút có thể có bất cứ thứ gì giữa các thẻ, bao gồm hình ảnh hoặc các thẻ HTML khác. Đó là toàn bộ vấn đề sử dụng nút trên phần tử đầu vào và bạn đang cố gắng đề xuất trình duyệt sẽ biến tất cả nội dung đó thành giá trị? Không đời nào.
Triynko

93

Có một cách tiếp cận HTML5 mới, formactionthuộc tính này:

<button type="submit" formaction="/action_one">First action</button>
<button type="submit" formaction="/action_two">Second action</button>

Rõ ràng điều này không hoạt động trong IE9 và trước đó, nhưng đối với các trình duyệt khác, bạn sẽ ổn (xem: w3schools.com HTML <button> Attribution Attribution ).

Cá nhân, tôi thường sử dụng Javascript để gửi biểu mẫu từ xa (để nhận phản hồi nhanh hơn) với phương pháp này là bản sao lưu. Giữa hai người, những người duy nhất không được bảo vệ là IE <9 bị tắt Javascript.

Tất nhiên, điều này có thể không phù hợp nếu về cơ bản bạn đang thực hiện cùng một phía máy chủ hành động bất kể nút nào được nhấn, nhưng thường thì nếu có hai hành động phía người dùng thì chúng cũng sẽ ánh xạ tới hai hành động phía máy chủ.

Chỉnh sửa: Như Pascal_dher đã lưu ý trong các nhận xét, thuộc tính này cũng có sẵn trên <input>thẻ.


1
Cũng có sẵn cho thẻ "đầu vào". Mã hóa cho w3schools: khi sử dụng thẻ nút, các trình duyệt khác nhau có thể gửi các giá trị khác nhau: w3schools.com/tags/tag_button.asp
Pascal_dher 18/08/2015

3
Tôi đã là một nhà phát triển web trong 12 năm và điều này là mới đối với tôi và thực sự là những gì tôi cần. Cảm ơn!
KyleFarris

1
Bạn được chào đón @KyleFarris! Tôi tin rằng điều này chỉ trở nên khả thi gần đây, vì vậy không có gì ngạc nhiên nếu bạn chưa bắt gặp nó.
Leo

2
Lưu ý cho người dùng Rails: thêm thuộc tính này sẽ không hoạt động nếu biểu mẫu của bạn được tạo bằng form_tag. Cách duy nhất tôi làm cho nó hoạt động là chuyển sang form_forvà sử dụng f.submit formaction: 'your_path'.
fgblomqvist


27

Điều này cực kỳ dễ kiểm tra

<form action="" method="get">

<input type="submit" name="sb" value="One">
<input type="submit" name="sb" value="Two">
<input type="submit" name="sb" value="Three">

</form>

Chỉ cần đặt nó trong một trang HTML, nhấp vào nút và xem URL


5
Sử dụng GET ở đây là một thực tế hơi xấu, người ta nên sử dụng POST khi có thể.
Syncrossus

6
@Syncrossus Đó là cho mục đích thử nghiệm.
Etienne Martin

22

Sử dụng formactionthuộc tính HTML (dòng thứ 5):

<form action="/action_page.php" method="get">
    First name: <input type="text" name="fname"><br>
    Last name: <input type="text" name="lname"><br>
    <button type="submit">Submit</button><br>
    <button type="submit" formaction="/action_page2.php">Submit to another page</button>
</form>

2
Điều này tương tự như câu trả lời trước đó của Leo .
ToolmakerSteve

@ToolmakerSteve - Nhưng người dùng đã bỏ phiếu tán . bạn chọn đi!!
dùng12379095


11

Cách tốt nhất để xử lý nhiều nút gửi là sử dụng trường hợp chuyển đổi trong tập lệnh máy chủ

<form action="demo_form.php" method="get">

Choose your favorite subject:

<button name="subject" type="submit" value="html">HTML</button>
<button name="subject" type="submit" value="css">CSS</button>
<button name="subject" type="submit" value="javascript">Java Script</button>
<button name="subject" type="submit" value="jquery">jQuery</button>

</form>

mã máy chủ / tập lệnh máy chủ - nơi bạn đang gửi biểu mẫu:

demo_form.php

<?php

switch($_REQUEST['subject']) {

    case 'html': //action for html here
                break;

    case 'css': //action for css here
                break;

    case 'javascript': //action for javascript here
                        break;

    case 'jquery': //action for jquery here
                    break;
}

?>

Nguồn: W3Schools.com


vâng, bạn phải có ý tưởng về các tập lệnh hành động (công nghệ tập lệnh phía máy chủ) Bạn có thể sử dụng bất kỳ tập lệnh / tập tin nào để xử lý dữ liệu đã gửi, ví dụ: php, asp, jsp, v.v. <form action="demo_form.php" method="get">
Shailesh Sonare 22/8/2016

Được chứ. Điều này thật khó hiểu vì cũng có một ngôn ngữ tên là ActionScript. Thay vào đó, bạn nên nói: "mã máy chủ" hoặc "tập lệnh máy chủ".
Dân sự

Tôi không biết bạn có thể làm điều đó với các nút
William Isted 23/8/2016

10

Có thể các giải pháp được đề xuất ở đây đã hoạt động vào năm 2009, nhưng tôi đã thử nghiệm tất cả các câu trả lời được nêu lên này và không ai làm việc trong bất kỳ trình duyệt nào.

Giải pháp duy nhất tôi thấy làm việc là thế này: (nhưng nó hơi xấu khi sử dụng tôi nghĩ)

<form method="post" name="form">
<input type="submit" value="dosomething" onclick="javascript: form.action='actionurl1';"/>
<input type="submit" value="dosomethingelse" onclick="javascript: form.action='actionurl2';"/>


2
Tại sao không chỉ sử dụng formaction="actionurl1"? Bạn không cần JavaScript.
rybo111

3
@ rybo111 Trình duyệt IE9 (phù thủy vẫn được sử dụng rộng rãi) không hỗ trợformaction
cluless007

1
@inaliaghle Đúng, khoảng 1% người dùng - nó phụ thuộc vào người mà dự án nhắm đến. Khoảng 1% người dùng không sử dụng JavaScript.
rybo111

1
Đối với độc giả tương lai: không có gì sai khi sử dụng javascript, như trong câu trả lời này. Đó là một kỹ năng hữu ích để biết. OTOH, các câu trả lời được đánh giá cao hơn cũng hoạt động tốt - bỏ qua câu dẫn của câu trả lời này. Nếu vì lý do nào đó bạn không thể làm cho những câu trả lời khác hoạt động, thì hãy đăng mã hoàn chỉnh của bạn dưới dạng câu hỏi SO, giải thích điều gì xảy ra (hoặc không xảy ra) và hỏi bạn đang làm gì sai.
ToolmakerSteve

6

Xác định namearray.

<form action='' method=POST>
    (...) some input fields (...)
    <input type=submit name=submit[save] value=Save>
    <input type=submit name=submit[delete] value=Delete>
</form>

Mã máy chủ ví dụ (PHP):

if (isset($_POST["submit"])) {
    $sub = $_POST["submit"];

    if (isset($sub["save"])) {
        // save something;
    } elseif (isset($sub["delete"])) {
        // delete something
    }
}

elseifrất quan trọng, bởi vì cả hai sẽ được phân tích cú pháp nếu không. Thưởng thức.


Bây giờ đây là một gợi ý tuyệt vời - chủ yếu là vì bạn có thể thêm nhiều nút với nhiều trường hợp rất dễ dàng và sử dụng một switchhành động mặc định nếu người ta đã thêm một nút và quên thêm nó vào switch(và / hoặc viết sai một cái gì đó, v.v.)
Gwyneth Llewelyn

Ngoài ra, @Pato đã thêm một câu trả lời tương tự có thể là thành ngữ hơn, nhưng câu trả lời của bạn hoạt động tốt!
Gwyneth Llewelyn

1
@GwynethLlewelyn Tôi không thấy câu trả lời khác hoặc không để ý khi tôi tự viết. Nó thực sự giống nhau, nhưng điều này chỉ đơn giản nhấn mạnh cách hầu hết mọi người thích logic này. Sự khác biệt chỉ là với tên vì lý do ngữ nghĩa, hiểu biết tốt cho các tân binh hoặc bất cứ ai thích bắt đầu với nó.
Thielicy

5

Vì bạn không chỉ định phương thức kịch bản phía máy chủ nào bạn đang sử dụng, tôi sẽ cung cấp cho bạn một ví dụ hoạt động cho Python, sử dụng CherryPy (mặc dù nó cũng có thể hữu ích cho các bối cảnh khác):

<button type="submit" name="register">Create a new account</button>
<button type="submit" name="login">Log into your account</button>

Thay vì sử dụng giá trị để xác định nút nào được nhấn, bạn có thể sử dụng tên (với <button>thẻ thay vì <input>). Theo cách đó, nếu các nút của bạn có cùng một văn bản, nó sẽ không gây ra vấn đề. Tên của tất cả các mục biểu mẫu, bao gồm các nút, được gửi như một phần của URL. Trong CherryPy, mỗi trong số đó là một đối số cho một phương thức thực hiện mã phía máy chủ. Vì vậy, nếu phương thức của bạn chỉ có **kwargsdanh sách tham số của nó (thay vì gõ một cách tẻ nhạt từng tên riêng lẻ của từng mục biểu mẫu) thì bạn có thể kiểm tra xem nút nào được nhấn như thế này:

if "register" in kwargs:
    pass #Do the register code
elif "login" in kwargs:
    pass #Do the login code

3
<form method="post">
<input type="hidden" name="id" value="'.$id.'" readonly="readonly"/>'; //any value to post PHP
<input type='submit' name='update' value='update' formAction='updateCars.php'/>
<input type='submit' name='delete' value='delete' formAction='sqlDelete.php'/>
</form>

2

Tôi nghĩ bạn sẽ có thể đọc tên / giá trị trong mảng GET của bạn. Tôi nghĩ rằng nút không được bấm sẽ không xuất hiện trong danh sách đó.


Bạn có thể có nghĩa là mảng POST.
ypnos

3
Không nhất thiết, nếu phương thức của biểu mẫu là "POST" thì nó sẽ không hiển thị trong mảng GET. Hầu hết các hình thức được gửi qua POST.
Vẹt

2
Hoặc / hoặc là đúng về mặt kỹ thuật, và như vậy là sai. Bạn có thể gửi biểu mẫu với phương thức = "NHẬN", nhưng nó rất đáng chú ý.
Bill the Lizard

4
Nó chỉ "đáng tin cậy" khi được sử dụng không phù hợp: w3.org/2001/tag/doc/whenToUseGet.html .
Mercator

2
Vâng, tôi đã không cố gắng đề nghị NHẬN, tôi chỉ cố gắng khái quát hóa mọi thứ.
John Bubriski

1

Bạn cũng có thể làm như thế này (tôi nghĩ sẽ rất thuận tiện nếu bạn có N đầu vào).

<input type="submit" name="row[456]" value="something">
<input type="submit" name="row[123]" value="something">
<input type="submit" name="row[789]" value="something">

Một trường hợp sử dụng phổ biến sẽ sử dụng các id khác nhau từ cơ sở dữ liệu cho mỗi nút, do đó sau này bạn có thể biết trong hàng máy chủ đã được nhấp.

Trong phía máy chủ (PHP trong ví dụ này), bạn có thể đọc "hàng" dưới dạng một mảng để lấy id. $_POST['row']sẽ là một mảng chỉ có một phần tử, ở dạng [ id => value ](ví dụ:[ '123' => 'something' ] :).

Vì vậy, để có được id đã nhấp, bạn làm:

$index = key($_POST['row']);

http://php.net/manual/en/feft.key.php


Điều này tương tự như câu trả lời @Thielicy được đăng , nhưng của bạn có thể là thành ngữ hơn. Cá nhân tôi thích sử dụng các thẻ chữ và số cho chỉ mục (trái ngược với số) để dễ đọc (dễ nhớ hơn mỗi nút phải làm gì), nhưng YMMV. Nhưng lợi dụng $_POST['row']là một mảng kết hợp là thông minh!
Gwyneth Llewelyn

1
Tôi đồng ý rằng, nếu bạn đang xử lý các nút tĩnh, bạn nên sử dụng các phím được đặt tên. Nhưng trong một số trường hợp bạn không thể. Đôi khi bạn tạo ra những đầu vào đó một cách linh hoạt. Trường hợp phổ biến nhất của điều này sẽ là một danh sách các hàng, mỗi hàng được xác định bởi một id. Tôi đoán tôi đã suy nghĩ về trường hợp đó khi tôi viết câu trả lời (4 năm trước!). Tôi đã chỉnh sửa nó để rõ ràng hơn rằng số đó là id chứ không phải chỉ mục.
Pato

Làm tốt! Vâng, tôi đồng ý, bây giờ nó rõ ràng hơn; Tôi vẫn tin rằng câu trả lời của bạn tốt hơn một chút so với câu trả lời của @Thielicy (và thậm chí có thể hiệu quả hơn một chút, đặc biệt là nếu có nhiều nút).
Gwyneth Llewelyn

1

Bạn định dạng cho nhiều nút gửi trong một ví dụ mẫu

 <input type="submit" name="" class="btn action_bg btn-sm loadGif" value="Add Address" title="" formaction="/addAddress"> 
 <input type="submit" name="" class="btn action_bg btn-sm loadGif" value="update Address" title="" formaction="/updateAddress"> 

0

Đơn giản, bạn có thể thay đổi hành động của biểu mẫu trên các nút gửi khác nhau Nhấp vào.

Hãy thử điều này trong tài liệu. Đọc

$(".acceptOffer").click(function () {
       $("form").attr("action", "/Managers/SubdomainTransactions");
});

$(".declineOffer").click(function () {
       $("form").attr("action", "/Sales/SubdomainTransactions");
});

0

Bạn cũng có thể sử dụng thuộc tính a href và gửi get với giá trị được nối thêm cho mỗi nút. Nhưng hình thức sẽ không được yêu cầu sau đó

href="/SubmitForm?action=delete"
href="/SubmitForm?action=save"

Điều này sẽ không làm việc cho các bộ điều khiển theo POSTtuyến đường.
Xavi Montero

do đó, "gửi một nhận"
Jonathan Laliberte

3
Tôi xin lỗi vì không đồng ý, nhưng GETkhông phải lúc nào cũng phù hợp. Nếu bạn "sửa đổi trạng thái của mô hình" thì bạn không bao giờ nên sử dụng một GET, vì làm mới trình duyệt có thể mang lại kết quả trong việc gửi hai lần cùng một yêu cầu. GETChỉ sử dụng để "xem" mọi thứ và POSTgửi yêu cầu thay đổi trạng thái (thêm, xóa, chỉnh sửa, v.v.). sau đó, trong POSThành động điều khiển của bạn sẽ thay đổi trạng thái (cơ sở dữ liệu, vừng ...) và đưa ra phản hồi chuyển hướng sau đó GETlà trạng thái thay đổi mới. Làm GETcho thay đổi trạng thái mô hình là rất bẩn và bất kỳ lập trình viên giỏi nào cũng nên tránh như vậy. Xin lỗi để nói rằng. Quy tắc làm sạch mã.
Xavi Montero

Thật. Nhưng chơi bẩn đôi khi có thể được sạch sẽ. Nó phụ thuộc vào những gì bạn đang làm chính xác. Cá nhân nó sẽ không ánh xạ xóa và chỉnh sửa các yêu cầu trên get, nhưng có nhiều cách để làm cho nó hoạt động .. như kiểm tra xem nó đã bị xóa chưa, hoặc kiểm tra xem người dùng có được phép làm như vậy không ...
Jonathan Laliberte

-1

Bạn có thể trình bày các nút như thế này:

<input type="submit" name="typeBtn" value="BUY">
<input type="submit" name="typeBtn" value="SELL">

Và sau đó trong mã bạn có thể nhận được giá trị bằng cách sử dụng:

if request.method == 'POST':
    #valUnits = request.POST.get('unitsInput','')
    #valPrice = request.POST.get('priceInput','')
    valType = request.POST.get('typeBtn','')

(valUnits và valprice là một số giá trị khác tôi trích xuất từ ​​biểu mẫu mà tôi để lại để minh họa)


-1

Vì bạn không chỉ định phương thức kịch bản phía máy chủ nào bạn đang sử dụng, tôi sẽ cung cấp cho bạn một ví dụ hoạt động cho PHP

<?php
   if(isset($_POST["loginForm"]))
   {
    print_r ($_POST); // FOR Showing POST DATA
   }
   elseif(isset($_POST["registrationForm"]))
   {
    print_r ($_POST);
   }
   elseif(isset($_POST["saveForm"]))
   {
    print_r ($_POST);
   }
   else{

   }
?>
<html>
<head>
</head>
<body>
  
  <fieldset>
    <legend>FORM-1 with 2 buttons</legend>
      <form method="post" >
      <input type="text" name="loginname" value ="ABC" >

     <!--Always use type="password" for password --> 
     <input type="text" name="loginpassword" value ="abc123" >
     
     <input type="submit" name="loginForm" value="Login"><!--SUBMIT Button 1 -->
     <input type="submit" name="saveForm" value="Save">  <!--SUBMIT Button 2 -->
   </form>
  </fieldset>



  <fieldset>
    <legend>FORM-2 with 1 button</legend>
     <form method="post" >
      <input type="text" name="registrationname" value ="XYZ" >
      
     <!--Always use type="password" for password -->
     <input type="text" name="registrationpassword" value ="xyz123" >
     
     <input type="submit" name="registrationForm" value="Register"> <!--SUBMIT Button 3 -->
   </form>
  </fieldset>
  

</body>
</html>

Các hình thức

Khi nhấp vào Đăng nhập -> loginForm

Khi nhấp vào Save -> saveForm

Khi nhấp vào Đăng ký -> đăng kýForm

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.