2013-10-10 27 views
3

我正在尋找驗證一個URL,而不需要用戶輸入「http://」。如何在下面的表格中輸入「http://」作爲要提交的表格。我無法弄清楚如何做到這一點。任何幫助將非常感激。jQuery驗證插件 - 刪除'http://'的要求與URL的

<!doctype html> 
<html> 
<head> 
<meta charset="utf-8"> 
<title>Makes "field" required and a url.</title> 
<link rel="stylesheet" href="http://jquery.bassistance.de/validate/demo/site-demos.css"> 

</head> 
<body> 
<form id="myform"> 
<label for="field">Required, URL: </label> 
<input class="left" id="field" name="field"> 
<br/> 
<input type="submit" value="Validate!"> 
</form> 
<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script> 
<script src="http://jquery.bassistance.de/validate/jquery.validate.js"></script> 
<script src="http://jquery.bassistance.de/validate/additional-methods.js"></script> 
<script> 
// just for the demos, avoids form submit 
jQuery.validator.setDefaults({ 
    debug: true, 
    success: "valid" 
}); 
$("#myform").validate({ 
    rules: { 
    field: { 
     required: true, 
     url: true 
    } 
    } 
}); 
</script> 
</body> 
</html> 

編輯:拿了伊舍伍德的建議是:

var txt = $('#website').val(); 

    var http = txt.indexOf('http://'); 

    if (http > -1) { 
     $('#website').val(txt); 
    } else { 
     $('#website').val('http://' + txt); 
    } 
+1

你可能會考慮使用[CDN的jQuery和驗證插件(HTTP:// WWW。 asp.net/ajaxlibrary/cdn.ashx#jQuery_Validation_Releases_on_the_CDN_3) – Blazemonger

回答

6

爲什麼不將它添加到URL爲你的用戶?無論如何,URL不是一個沒有協議的URL(例外是無協議的URL,但它們仍然有'//')。

$('#myform').on('submit', function() { 
    var myURL = 'http://' + $('#field').val(); 
    $('#field').val(myURL); 
});