Я делаю проверку поля электронной почты. Для этого я написал HTML-код, подобный этому:
<form action="#">
<span class="email-field" id="email-field">
<input type="text" name="email-id" onFocus="if(this.value=='Your email ID'){this.value=''}" onBlur="if(this.value==''){this.value='Your email ID'}" id="email-id" />
<input type="text" name="email-id" onFocus="if(this.value=='Please enter email ID'){this.value=''}" onBlur="if(this.value==''){this.value='Please enter email ID'}" id="error-email-id" class="hide"/>
</span>
<input type="submit" id="submit-button" class="subscribe-button" value="">
</form>
Jquery, который я написал, для этого:
$(document).ready(function() {
var filter = /^([a-zA-Z0-9_.-])+@(([a-zA-Z0-9-])+.)+([a-zA-Z0-9]{2,4})+$/;
URL = 'http://localhost:8000/'
$("#submit-button").click(function() {
email = $("#email-id").val()
if($.trim($("#email-id").val()) === 'Your email ID' || !(filter.test($("#email").val())) ) {
$('#error-email-id').fadeIn('slow').removeClass("hide");
$('#email-id').fadeOut('normal').addClass("hide");
$('#email-field').addClass("error-highlight");
return false;
}
else {
$.ajax({
type: 'POST',
url: URL + "validate/" ,
data: {"email-id": email},
success: function(data) {
},
dataType: "json",
});
$('#form').fadeOut('normal').addClass("hide");
$('#notification').fadeIn('slow').removeClass("show")
return false;
}
});
Сценарий такой: -
1. Первый раз, когда я ввожу email
, и если он correct
, он делает successful call
для этого url
.
2. Если я введу wr ong email
или validation fails
, это даст мне соответствующий класс, который является полем ввода текста id 'error-email-id'
. Но когда я нажимаю submit button
Нет JS call
произойдет. То есть Он не называет Любой Jquery
Так что нет URL
. Это остается static
один.
Заранее спасибо !!!