2013-07-17 44 views
7

Tại thời điểm đưa ra đầu vào trong trường edittext, nó hiển thị lỗi nếu bất kỳ ai sẽ đặt định dạng Địa chỉ IP không hợp lệ của IP adsress phải như thế này 000.000.0.000 plz giúp tôi racách xác thực mẫu trong gửi biểu mẫu

IN HTML5: -

<div data-role="content"> 
    <form id="form"> 
     <div data-role="fieldcontain"> 
        <label for="ip">IP Address/System Name</label> 
        <input name="ip" id="ip" type="text" pattern="((^|\.)((25[0-5])|(2[0-4]\d)|(1\d\d)|([1-9]?\d))){4}$">      
     </div> 
     <div style="text-align:center;">     
        <div data-role="button" data-theme="b" data-inline="true" id="button1">Update</div> 
     </div> 
</div> 
+1

HTML5 mẫu xác nhận hoạt động hoàn hảo, nhưng đối với nó để làm việc bạn phải gửi biểu mẫu, nhưng từ mã của bạn tôi có thể thấy rằng bạn đang sử dụng div để gọi một hàm javascript, do đó, trong chức năng đó bằng tay gọi là gửi –

Trả lời

9

Đối với xác nhận HTML5 làm việc trên gửi, Bạn phải đặt required thuộc tính trong input lĩnh vực của bạn , bạn muốn xác thực bằng cách sử dụng HTML5 và bạn phải gửi biểu mẫu.

Bạn có thể xử lý các dữ liệu hình thức gửi qua javascript, và trong trường hợp bạn muốn để xử lý các dữ liệu đệ trình bằng tay sau đó bạn phải xác định data-ajax="false" trong bạn form thẻ

Đối với mã của bạn, hãy thử này

<div data-role="content"> 
<form id="form" data-ajax="false"> 
    <div data-role="fieldcontain"> 
       <label for="ip">IP Address/System Name</label> 
       <input name="ip" id="ip" type="text" required pattern="((^|\.)((25[0-5])|(2[0-4]\d)|(1\d\d)|([1-9]?\d))){4}$">      
    </div> 
    <div style="text-align:center;">     
       <input type="submit" value="Submit button" /> 
    </div> 
</form> 
</div> 

Và trong javascript bạn có thể làm một cái gì đó giống như

$("#form").submit(function(e){ 
    e.preventDefault(); 
    //call your method 

}); 
+0

Mặt nạ mạng con là gì? –

2

Một lộ trình bạn có thể sử dụng mask.js - Trong trường hợp bạn có thể buộc người dùng nhập dữ liệu của họ ở định dạng thích hợp, điền trước '.' các ký tự trong IP và ngăn người dùng nhập các giá trị không phải là số.

Mask.js

Và đây là một fiddle - http://jsfiddle.net/QF9Lz/2/

nhấp chuột trong hộp văn bản, bạn sẽ thấy một mặt nạ định dạng xuất hiện và bạn sẽ chỉ có thể nhập giá trị số trong các định dạng mà bạn chỉ định.

Vì vậy, một khi bạn bao gồm mask.js vào đầu, bạn có thể khởi tạo mặt nạ đầu vào như thế này:

$(document).ready(function() { 
    $('#ip').mask('999.999.9.999'); 
}); 
+1

trong jquery di động nó sẽ làm việc –

+0

bcoz nó không hoạt động trong jquery mobile –

+0

idk chưa thử, bạn có thực hiện bình thường không? – digiliooo

-1

tôi đã regex này cho địa chỉ/mặt nạ Ví dụ: 10.0.0.0/8

((25[0-5])|(2[0-4]\d)|(1\d\d)|([1-9]?\d))((^|\.)((25[0-5])|(2[0-4]\d)|(1\d\d)|([1-9]?\d))){3}\/([1-2][0-9]|[0-9]|3[0-2])$ 

nếu bạn muốn chỉ là regex sử dụng địa chỉ:

((25[0-5])|(2[0-4]\d)|(1\d\d)|([1-9]?\d))((^|\.)((25[0-5])|(2[0-4]\d)|(1\d\d)|([1-9]?\d))){3}$ 
Các vấn đề liên quan