AJAX Validation

smtp_ftp

Member
سلام دوست عزیز خسته نباشید من این پست رو در انجمن دیگه ای زده بودم اما به نتیجه نرسیدم

من یک فرم ثبت نام دارم که می خوام به صورت ajax validation انجام بشه مثلا چک کنه که کد ملی تکراری هست یا نه و یا چک کنه که ایمیل معتبر هست یا نه یا مثلا عددی بودن یک فیلد رو ایجاد کنه و یا پر شدن یک فیلد

من الان چک کردن کد ملی و ایمیل رو به صورت آژاکس انجام میدم هیچ مشکلی هم نداره و عددی بودن فیلد ها رو با جاوا اسکریپت انجام دادم فقط برای ‍پر یا خالی بودن فیلد ها مشکل دارم لطفا کمکم کنید

و مشکل مهم تر اینکه من می خوام فرم وقتی ارسال بشه که هیچ مشکلی نداشته باشه یعنی همه چیز ولید شده باشه و فیلد های ضروری پر شده باشن در ضمن من کد های خودمم براتون گذاشتم خواهش می کنم کمکم کنید خیلی حیاتی هستش و خیلی عجله دارم




این هم از کد جاوا اسکریپت

کد:
[/B]function showUser(str){
if (str=="")
  {
  document.getElementById("txtHint").innerHTML="";
  return;
  } 
if (window.XMLHttpRequest)
  {// code for IE7+, Firefox, Chrome, Opera, Safari
  xmlhttp=new XMLHttpRequest();
  }
else
  {// code for IE6, IE5
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
xmlhttp.onreadystatechange=function()
  {
  if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
    document.getElementById("txtHint").innerHTML=xmlhttp.responseText;
    }
  }
xmlhttp.open("GET","include/ajax.php?q="+str,true);
xmlhttp.send();
}




function checkemail(str)
{
if (str=="")
  {
  document.getElementById("txtHintemail").innerHTML="";
  return;
  } 
if (window.XMLHttpRequest)
  {// code for IE7+, Firefox, Chrome, Opera, Safari
  xmlhttp=new XMLHttpRequest();
  }
else
  {// code for IE6, IE5
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
xmlhttp.onreadystatechange=function()
  {
  if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
    document.getElementById("txtHintemail").innerHTML=xmlhttp.responseText;
    }
  }
xmlhttp.open("GET","include/ajax.php?email="+str,true);
xmlhttp.send();
}




function numbersonly(myfield, e, dec)
{
var key;
var keychar;


if (window.event)
   key = window.event.keyCode;
else if (e)
   key = e.which;
else
   return true;
keychar = String.fromCharCode(key);


// control keys
if ((key==null) || (key==0) || (key==8) || 
    (key==9) || (key==13) || (key==27) )
   return true;


// numbers
else if ((("0123456789").indexOf(keychar) > -1))
   return true;


// decimal point jump
else if (dec && (keychar == "."))
   {
   myfield.form.elements[dec].focus();
   return false;
   }
else
   return false;

}[B]




کد AJAX.PHP


PHP:
<?php
function checkEmail($email) { if(preg_match("/^( [a-zA-Z0-9] )+( [a-zA-Z0-9\._-] )*@( [a-zA-Z0-9_-] )+( [a-zA-Z0-9\._-] +)+$/" , $email)){  list($username,$domain)=split('@',$email);  if(!checkdnsrr($domain,'MX')) {   return false;  }  else  {  return true;  } }
}



if ($_GET['q']){$national_code = $_GET["q"];
// checking name/*if (empty($name)){    print 'Please enter your name.';    exit;}*/
// checking for national code existinginclude("config.php");    $result = mysql_query("SELECT * FROM reg1 WHERE melicode='".$national_code."'");    if (mysql_num_rows($result) >= 1)    {        print '<font color="red" size="3pt" face="tahoma">'.'اين كد ملي قبلا وارد شده است.'."</font>";       // exit;    }    else    {        print '<font color="green" size="3pt" face="tahoma">'.'اين كد قابل ثبت است.'."</font>";    }
mysql_close();// inserting into database//mysql_query("INSERT INTO users VALUE ...");}
elseif ($_GET['email'])
{              $email_address = $_GET['email'];if (filter_var($email_address, FILTER_VALIDATE_EMAIL)) {  // The email address is valid  print '<font color="green" size="3pt" face="tahoma">'.'ايميل معتبر است.'."</font>";} else {  // The email address is not valid  print '<font color="red" size="3pt" face="tahoma">'.'ايميل نامعتبر است.'."</font>";}      }
?>



این هم از کد HTML


HTML:
<input type="text" name="tfregtel" id="tfregtel"  style="border:#000 1px solid" onkeypress="return numbersonly(this,  event)" />
<input type="text" name="tfregmelicode" id="tfregmelicode"  style="border:#000 1px solid" value="" onChange="showUser(this.value)"  onkeypress="return numbersonly(this, event)" />    <div id="txtHint" ></div>
<input type="text" name="tfregemail" id="tfregemail" style="border:#000 1px solid" onChange="checkemail(this.value)" />
     <div id="txtHintemail" ></div>
 

جدیدترین ارسال ها

بالا