Hướng dẫn can two html inputs have the same name? - hai đầu vào html có thể có cùng tên không?

Như đã nêu trên như vậy:

Các trình duyệt là ok với nó. Tuy nhiên, làm thế nào thư viện ứng dụng phân tích cú pháp nó có thể khác nhau.

Các chương trình được cho là nhóm các mục được đặt tên giống hệt nhau. Mặc dù đặc tả HTML không nói rõ điều này, nhưng nó được nêu rõ ràng trong tài liệu trên các hộp kiểm:

"Một số hộp kiểm trong một biểu mẫu có thể chia sẻ cùng một tên điều khiển. Ví dụ, các hộp kiểm cho phép người dùng chọn một số giá trị cho cùng một thuộc tính."

Bên cạnh một lưu ý phụ, trong PHP, bạn có thể có các trường biểu mẫu có cùng tên nếu bạn sử dụng cú pháp ARRY của PHP cho tên trường:

<form>
<input name="email[]" />
<input name="email[]" />
<input name="email[]" />
</form>

Điều này sẽ khiến trình duyệt gửi qua các trường biểu mẫu trong cú pháp mà PHP sẽ sử dụng để điền vào một mảng cho các trường sau: $_REQUEST['email']. Nếu bạn sử dụng PHP thì đây là cách ưa thích để xử lý nó.

Hi,

Đôi khi chúng tôi đã đi xung quanh một tình huống khó khăn khi chúng tôi phải sử dụng nhiều yếu tố đầu vào HTML có cùng tên trong các trang của chúng tôi và cần phải giải quyết chúng bằng JavaScript (ở phía máy khách) hoặc ASP và PHP (phía máy chủ).

Giả sử chúng ta có nhiều yếu tố khu vực văn bản trong một trang HTML. Tên của các khu vực văn bản này & nbsp; là txtarea. Và vấn đề là chúng ta cần xác thực độ dài văn bản trong các hộp văn bản này vì chúng ta không mong muốn người dùng nhập hơn 250 ký tự.

Tệp: MultiLetextArea.html

Xác thực nhiều khu vực văn bản

Multiple Text area Validation













Bây giờ ở đây, chúng ta có thể thấy rằng chúng ta có 7 phần tử khu vực văn bản có cùng tên với Txtarea. & NBSP; Và chúng tôi muốn xác thực các khu vực văn bản này để người dùng không thể chèn quá 255 charaters.

Bây giờ để xác thực điều này với JavaScript, chúng tôi phải thực hiện các thay đổi nhỏ trong mã để thêm chức năng xác thực và gọi nó trên phương thức ONSubmit của biểu mẫu.

Tệp: MultiLetextArea.html

Xác thực nhiều khu vực văn bản

Multiple Text area Validation




          
          
          
          
          
          
           
         


Bây giờ để xác thực điều này với JavaScript, chúng tôi phải thực hiện các thay đổi nhỏ trong mã để thêm chức năng xác thực và gọi nó trên phương thức ONSubmit của biểu mẫu.check()” we point the text area lot with form[“txtArea”] and form is the only form in this html. We can point to the form as document.forms[0] or document.form .

Kiểm tra chức năng xác thực khu vực nhiều văn bản () {& nbsp; var form = document.forms [0]; & nbsp; var txts = & nbsp; Mẫu [Txtarea trực tiếp]; & nbsp; var len = txts.length;form[“txtArea”] . We can view the length of the Text Area array as form[“txtArea”].length

& nbsp; for (i = 0; i 255) & nbsp; & nbsp; {& nbsp; & nbsp; & nbsp; & nbsp; cảnh báo (Hãy xin vui lòng chèn ít hơn 255 người làm từ công); & nbsp; & nbsp; & nbsp; & nbsp; txt [i] .f Focus (); & nbsp; & nbsp; & nbsp; & nbsp; trả lại sai; & nbsp; & nbsp; } & nbsp; & nbsp; return true; } & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp;txtS[i].value to get the value of the i th text area and txtS[i].value.length to get the length of the value of the i th Text Area.

Bây giờ, nếu hàm javascript kiểm tra (), chúng tôi trỏ lô vùng văn bản có biểu mẫu [Txtarea,] và biểu mẫu là hình thức duy nhất trong HTML này. Chúng ta có thể trỏ đến biểu mẫu dưới dạng tài liệu.forms [0] hoặc document.form.

Vì vậy, bây giờ chúng tôi có tất cả các khu vực văn bản ở dạng mảng [Hồi txtarea]. Chúng ta có thể xem độ dài của mảng khu vực văn bản là & nbsp; form [ If we wish to populate the text areas programmatically then we may not now how many text areas are in the form. There might a single text area.

Để có được các khu vực văn bản từng cái một, chúng ta có thể sử dụng một vòng lặp và sử dụng txts [i] .value để nhận giá trị của vùng văn bản thứ i và txts [i] .value. Tôi là khu vực văn bản.len = txtS.length
As this form holds a single text area the len will be null or we can say undefined.

Chúng ta có thể xác nhận giá trị bằng cách sử dụng một câu lệnh nếu - khác.form[“txtArea”].value and length by form[“txtArea”].value.length

Lỗi có thể xảy ra trong tình huống này & nbsp ;: Nếu chúng ta muốn điền vào các khu vực văn bản được lập trình thì bây giờ chúng ta có thể không có bao nhiêu khu vực văn bản trong biểu mẫu. Có thể một khu vực văn bản duy nhất.

Nếu biểu mẫu chứa một vùng văn bản duy nhất thì hàm JavaScript xác thực của chúng tôi sẽ không hoạt động khi cần thiết. Vì nó sẽ tạo ra một lỗi JavaScript trong dòng này: & nbsp; & nbsp; var len = txts.length vì biểu mẫu này giữ một khu vực văn bản duy nhất, LEN sẽ không được xác định.
 var form = document.forms[0];
 var txtS =  form[“txtArea”];
 var len = txtS.length;

Vì vậy, nếu Len là null, chúng ta có thể nói chỉ có một vùng văn bản có mặt và chúng ta có thể truy cập giá trị của nó bằng & nbsp; form [Hồi txtarea].
    if(form[“txtArea”].value.length > 255)
    {
       alert(“Please insert less than 255 charecters”);
       form[“txtArea”].focus();
       return false;
   }
}else{
    for(i=0;i     {
      if(txtS[i].value.length > 255)
      {
        alert(“Please insert less than 255 charecters”);
        txtS[i].focus();
        return false;
      }
   }
}
return true;
}

Bây giờ JavaScript của chúng tôi được hoàn thành cho nhu cầu của chúng tôi. Bây giờ chúng ta chỉ cần có được các giá trị đúng trong ngôn ngữ kịch bản của chúng ta như ASP và PHP.

ASP diễn giải của nhiều yếu tố đầu vào có cùng tên:

Trong ASP, chúng ta phải viết một mã đơn giản để đáp ứng nhu cầu của chúng ta.

Trước tiên, chúng ta hãy thay đổi tệp thành tệp ASP. Vì vậy, tên tệp sẽ giống như MultiLetextArea.aspMultipleTextArea.asp

Tập tin:

Kiểm tra chức năng xác thực khu vực nhiều văn bản () {& nbsp; var form = document.forms [0]; & nbsp; var txts = & nbsp; Mẫu [Txtarea trực tiếp]; & nbsp; var len = txts.length;

Multiple Text area Validation




          
          
          
          
          
          
           
         


Bây giờ sau khi người dùng đã xác thực tất cả các khu vực AEXT và gửi biểu mẫu mà nó sẽ tự đăng lại. Vì vậy, ở đầu tệp ASP này, chúng tôi phải viết mã ASP của chúng tôi để lấy dữ liệu biểu mẫu này.
So at the top of this ASP file we have to write our ASP code to get this form data.

Tất cả các khu vực văn bản sẽ kết hợp với nhau để phân định bằng dấu phẩy. Vì vậy, tất cả các giá trị cho phần tử đầu vào txtarea sẽ được kết hợp thành một chuỗi được phân định bởi dấu phẩy (,).

Vì vậy, chúng ta có thể phân chia giá trị với dấu phẩy ANE lặp qua tất cả các giá trị từng cái một.

ASP sẽ giống như:

<%

& nbsp; mytxt = request.form (Hồi txt) & và, & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 'Thêm một dấu phẩy ở cuối để chia hoàn hảo và nhận được giá trị cuối cùng dễ dàng & nbsp; alltxt = split (mytxt, Hồi,) & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; Bây giờ phân chia các giá trị bằng dấu phẩy
‘ADD a comma at the end to split perfectly and get the last value easily
 allTXT = split(myTXT,”,”)                
‘Now split the values with comma

 

Cho i = 0 đến ubound (alltxt) -1 & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; Đặt vòng lặp & nbsp; tiêu chí thoát thành 1 so với chiều dài của chuỗi, vì chúng tôi đã thêm một dấu phẩy bổ sung
‘Set the loop exit criteria to 1 less than the length of the string, as we have added a extra comma

& nbsp; & nbsp; & nbsp; & nbsp; respons.write (Hồi [[
‘Print the values one by one
‘Here you canactually do your coding

& nbsp; & nbsp; tiếp theo ‘vòng lặp trong vòng lặp for
‘Loop in the for loop

%>

Vì vậy, cuối cùng, tệp ASP của bạn sẽ trông giống như:

<%
 myTXT = Request.Form(“txt”) & “,”           
‘ADD a comma at the end to split perfectly and get the last value easily
 allTXT = split(myTXT,”,”)                
‘Now split the values with comma

 

Cho i = 0 đến ubound (alltxt) -1 & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; Đặt vòng lặp & nbsp; tiêu chí thoát thành 1 so với chiều dài của chuỗi, vì chúng tôi đã thêm một dấu phẩy bổ sung
‘Set the loop exit criteria to 1 less than the length of the string, as we have added a extra comma

& nbsp; & nbsp; & nbsp; & nbsp; respons.write (Hồi [[
‘Print the values one by one
‘Here you canactually do your coding

& nbsp; & nbsp; tiếp theo ‘vòng lặp trong vòng lặp for
‘Loop in the for loop

%>


Multiple Text area Validation




          
          
          
          
          
          
           
         


Đó là tất cả trong ASP.Tôi nghĩ rằng nó sẽ giúp một số cơ thể trong vũ trụ lớn này 😉

Bây giờ chúng tôi sẽ xem xét giải thích PHP trong phần tiếp theo.

Các yếu tố có thể có cùng tên HTML?

Các yếu tố khác nhau có thể chia sẻ cùng một lớp các yếu tố HTML khác nhau có thể trỏ đến cùng một tên lớp.Different HTML elements can point to the same class name.

Nhiều đầu vào có thể có cùng một ID không?

Có hai yếu tố HTML có cùng ID là bất hợp pháp và sẽ gây ra hành vi không xác định như những gì bạn đang trải qua. and will cause undefined behavior such as what you're experiencing.

Đầu vào HTML có thể có 2 loại không?

Không, một phần tử trường không thể có nhiều loại.Điều duy nhất bạn nên để lại cho người dùng là nhập dữ liệu - bạn chọn các loại khi thiết kế biểu mẫu.Người dùng sẽ chọn cái nào họ muốn điền vào - trừ khi bạn yêu cầu họ.Tất cả điều này có thể được thực hiện trong HTML mà không cần kịch bản.. The only thing you should leave up to the user is inputting data - you select the types when designing the form. The user will pick which ones they want to fill out - unless you make them required. This can all be accomplished in HTML without scripting.

Có phải mọi đầu vào cần một tên?

Không bao giờ bỏ qua cái tên mà nó không cần thiết hoàn toàn để xác nhận, nhưng bạn không bao giờ nên bỏ qua nó.Khi một biểu mẫu được gửi đến máy chủ, dữ liệu từ biểu mẫu được bao gồm trong yêu cầu HTTP.It isn't strictly required for validation, but you should never omit it. When a form is submitted to the server, the data from the form is included in an HTTP request.