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

function check(){
 var form = document.forms[0];
 var txtS =  form[“txtArea”];
 var len = txtS.length;

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.
 {
  if(txtS[i].value.length > 255)
   {
     alert(“Please insert less than 255 charecters”);
     txtS[i].focus();
     return false;
   }
  return true;
}




          
          
          
          
          
          
           
         


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 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

function check(){
 var form = document.forms[0];
 var txtS =  form[“txtArea”];
 var len = txtS.length;

if (null == len) {& nbsp; & nbsp; & nbsp; if (form [Hồi txtarea]. value.length> 255) & nbsp; & nbsp; & 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; & nbsp; & nbsp; Mẫu [từ txtarea]. Focus (); & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; trả lại sai; & nbsp; & nbsp; }} khác {& nbsp; & nbsp; & nbsp; for (i = 0; i 255) & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; {& nbsp; & 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; & nbsp; & nbsp; & nbsp; txt [i] .f Focus (); & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; trả lại sai; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; } & nbsp; & nbsp; }} trả về đúng; } & 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;
    if(form[“txtArea”].value.length > 255)
    {
       alert(“Please insert less than 255 charecters”);
       form[“txtArea”].focus();
       return false;
   }
}else{
    for(i=0;i 255)
      {
        alert(“Please insert less than 255 charecters”);
        txtS[i].focus();
        return false;
      }
   }
}
return true;
}




          
          
          
          
          
          
           
         


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ư:

Chủ đề