javascript - php: how to validate textbox using jquery ajax -


i have textbox, validate using jquery-ajax once user focusout textbox.

validation include:

  • server side, value goes php page , have validate it

  • if validation success,show alert("succes"); else if error alert("failed");

i have doubt how jquery ajax show alert("failure"); till , have done success.

i know below mention code,furthure should solve problem? please help

<script type="text/javascript">     $(function()     {         $('input[id^="datepicker"]').on('focusout',function()         {               $.ajax({                 url: "ajax_frmdate_validation.php?txtval="+$(this).val(),                 success: function(data){                     alert('successfully  ...');                 }             });          });     }); </script>  -------------- -------------- <input class="plain" name="frmdate"   value="" size="25" id="datepicker" />  

and server side php code is:

$txtval =$_request['txtval']; $fromtimestamp = strtotime( $txtval);  //---------my logic code goes here ----------------------------- $sid=$_session['id']; $result12=mysql_query("select * budget creater_id = '$sid'"); $num_rows = mysql_num_rows($result12);  if($num_rows>0)//check if empty or not {     while($test12 = mysql_fetch_array($result12)) {         $from_date = strtotime($test12['from_date']);//getting from-dates_column         $to_date = strtotime($test12['to_date']);//getting to-dates_column          if(isset($to_date) && isset($from_date)) {             if((($fromtimestamp >= $from_date) && ($fromtimestamp <= $to_date)) || (($totimestamp >= $from_date) && ($totimestamp <= $to_date))) {                 $val = 'y'; //return y in meet condition             }             else {                 $val = 'n'; // return n if meet condition             }         }         //---------------------result of logic code---------------------------------         if($val == 'y') //returns true         {             //validation fails - returns validation error             break;         }         else  if($val == 'n') {             //validation true - returns validation error         }     } } 

you can way:

$txtval = mysql_real_escape_string($_request['txtval']); $fromtimestamp = strtotime( $txtval);   //---------my logic code goes here -----------------------------  $sid=$_session['id'];  $result12=mysql_query("select * budget creater_id = '$sid'");  $num_rows = mysql_num_rows($result12);   if($num_rows>0)//check if empty or not  {     while($test12 = mysql_fetch_array($result12)) {     $from_date = strtotime($test12['from_date']);//getting from-dates_column     $to_date = strtotime($test12['to_date']);//getting to-dates_column      if(isset($to_date) && isset($from_date)) {          if((($fromtimestamp >= $from_date) && ($fromtimestamp <= $to_date)) || (($totimestamp >= $from_date) && ($totimestamp <= $to_date))) {              $val = 'y'; //return y in meet condition          }          else {             $val = 'n'; // return n if meet condition          }      }      //---------------------result of logic code---------------------------------      if($val == 'y') //returns true      {         echo "failed";         exit();      }      else  if($val == 'n')       {         echo "success";         exit();      } 

now in ajax call:

<script type="text/javascript">     $(function()     {        $('input[id^="datepicker"]').on('focusout',function()        {           $.ajax({             url: "ajax_frmdate_validation.php?txtval="+$(this).val(),             success: function(data){                if (data == 'success') {                     alert("successfully validated");                 } else {                     alert("failed");                     return false;                }             }         });        });    }); </script> 

rather alerting, better way show error message below textbox appending message if failed.

also proper escaping before checking using mysql_real_escape_string

update :

you need call ajax whenever date changes in input text field, instead of focusout can use onselect datepicker. when new date selected ajax call initiated.

so instead of calling earlier ajax on focusout can call on onselect of datepicker

$(function(){     $('#datepicker').datepicker({         onselect:function(date,instance){            $.ajax({               url: "ajax_frmdate_validation.php?txtval="+date,               success: function(data){                  if (data == 'success') {                     alert("successfully validated");                   } else {                     alert("failed");                     return false;                  }               }            });         }     }); });  

new update

try :

 <script type="text/javascript">      $(document).ready(function() {         $("#datepicker").datepicker({            dateformat: "yy-mm-dd" ,           onselect:function(date,instance){                           $.ajax({                             url: "ajax_frmdate_validation.php?txtval="+date,                             success: function(data){                             if (data == 'success') {                                  alert("successfully validated");                              } else {                                  alert("failed");                                   return false;                             }                      }                  });             }      });    });   </script> 

Comments

Popular posts from this blog

android - getbluetoothservice() called with no bluetoothmanagercallback -

sql - ASP.NET SqlDataSource, like on SelectCommand -

ios - Undefined symbols for architecture armv7: "_OBJC_CLASS_$_SSZipArchive" -