2014-01-29 5 views
0

Я сделал функцию для проверки электронной почты, и я хотел бы знать, как я буду обращаться к ней так, чтобы она могла работать. Я также пытаюсь использовать ajax вместе с php.вызов функции jquery

мой JQuery код

function isValidEmailAddress(emailAddress) { 
var pattern = new RegExp(/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i); 
return pattern.test(emailAddress); 
}; 

$("#sub").click(function(){ 
    $.post($("#myForm").attr("action"), 
      $("#myForm :input").serializeArray(), 
      function(info){ $("#result").html(info); 
     }); 


}); 

$("#myForm").submit(function(){ 
    return false; 
}); 

function clearInput(){ 
    $("#myForm :input").each(function(){ 
     $(this).val(''); 
    }); 
} 

index.php

<form id="myForm" action="ajax/userInfo.php" method="post"> 
<input class="required" type="text" name="email" id="email"> 
<input type="button" value="SUBMIT" id="sub"> 
<form> 

userInfo.php

<?php 
include("../config.php"); 
global $_NEWSLETTER_CUSTOMERS_TABLE; 

//$email = $_POST['email']; 
$email = html_entity_decode(str_replace("'", "\'", $_POST["email"])); 

if(mysql_query("INSERT INTO $_NEWSLETTER_CUSTOMERS_TABLE(email) VALUES('$email')")) 
echo "Successfully Inserted"; 
else 
echo "Insertion Failed"; 
+0

где ваш элемент ввода электронной почты –

+0

Извините. Я редактировал свой пост. – user3244543

ответ

0

Попробуйте

$("#sub").click(function() { 
    var $form = $("#myForm"); 
    if (!isValidEmailAddress($form.find('input[name="email"]').val())) { 
     alert('enter valid email') 
     //if the validation fails return 
     return false; 
    } 
    $.post($form.attr("action"), $form.find(":input").serializeArray(), function (info) { 
     //give the proper email fields name here 
     $("#result").html(info); 
    }); 
}); 

function isValidEmailAddress(emailAddress) { 
    var pattern = new RegExp(/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i); 
    return pattern.test(emailAddress); 
}; 

$("#myForm").submit(function() { 
    return false; 
}); 

function clearInput() { 
    //no need to loop 
    $("#myForm :input").val(''); 
} 

Демонстрация: Fiddle

+0

Спасибо Арун, это было то, что мне нужно :-D – user3244543

Смежные вопросы