2011-10-12 31 views
8

Tôi muốn sử dụng: HTML 5 Bắt buộc.loại đầu vào html5 mà không có biểu mẫu. Nó có hoạt động không?

như

<input type='text' required> 

nó dường như chỉ có tác dụng nếu các loại đầu vào là trong một hình thức. Tôi có thể không tự sử dụng nó và sau đó bằng javascript gọi một số loại xác thực phương pháp đầu tiên?

Nhiều ý kiến ​​phản hồi như sau:

Tôi có

<input id='name' type='text' required> 
    <input id='surname' type='text' required> 
    <input id='send' type='button' onclick ='send()'> 

    function send() { 
     if (document.getElementById('name').value == '') { alert('missing name'); return } 
     if (document.getElementById('surname').value == '') { alert('missing surname'); return } 

     // logic now... 

    } 

Bit nơi nó sẽ kiểm tra params đầu vào và gửi cảnh báo đó là các bit Tôi muốn thay đổi bằng cách sử dụng HTML 5

+0

Bạn có thể đăng thêm một chút mã để giải thích rõ hơn những gì bạn đang cố gắng đạt được không? – beefyhalo

+1

Khi nào xác thực được cho là xảy ra nếu không có biểu mẫu để gửi? – JJJ

+0

bạn có đang sử dụng AJAX để gửi giá trị của đầu vào không? –

Trả lời

9

Chắc chắn, sử dụng

document.getElementById('your_input_id').validity.valid 

để kiểm tra tính hợp lệ của lĩnh vực tự động.

+0

Btw, bạn có thể kiểm tra các giá trị khác trong đối tượng hợp lệ nếu bạn muốn biết lý do chính xác tại sao trường này không hợp lệ. – RReverser

+0

document.getElementById ('your_input_id'). Validity.valid hoạt động theo nghĩa 'true'/'false' nhưng nó không mang thông báo chú giải công cụ (bắt buộc) và tập trung vào văn bản thiếu tham số. – Zo72

+0

@ lorenzo72 Tôi nghĩ bạn muốn kiểm tra trường trong JS và thực hiện xử lý riêng (tooltip hoặc hơn). Bạn không thể làm những gì bạn muốn. Bạn nên quấn các phần tử của bạn vào biểu mẫu hoặc thực hiện trình xử lý riêng. – RReverser

2

Trước tiên, thuộc tính "bắt buộc" sẽ kích hoạt sự kiện "gửi", vì vậy, tôi đoán, không có biểu mẫu - sẽ không có nội dung nào được gửi. Thứ hai, tại sao có vấn đề với biểu mẫu?

2

Với 'bắt buộc', điều này sẽ chỉ hoạt động nếu biểu mẫu được gửi.

Các vấn đề liên quan