Jump to content

Got encountered problem in ajax by stopped process but no error


newphpcoder

Recommended Posts

Hi..

 

I have ajax code for saving data to database

here is my ajax code:

 

<script type="text/javascript">
var ajaxTimeOut = null;
var ajaxTimeOutOperator = null; 
var responsePHP; // = "no_reply"
var responsePHPOperator;
var changeFocus; //= false;
var transactionWasSaved;

function remoteRequestObject() {
    var ajaxRequest = false;
    try {
        ajaxRequest = new XMLHttpRequest();
    }
    catch(err) {
        try{
            ajaxRequest = new ActiveXObject("MSxml2.XMLHTTP");
        }
        catch(err) {
            try{
                ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");
            }
            catch(err){
                // --> change to DOM alert("Not Supported Browser") + err.description;
                notify('Not Supported Browser.');
                return false;
            }
        }
    }
    return ajaxRequest;
} 

//var ajaxRequest; // = remoteRequestObject();
var ajaxRequest = remoteRequestObject();   
var ajaxRequestOperator;
</script>

<script type="text/javascript">
function lotIdCheck(element) {
    if (window.event.keyCode==13 || window.event.keyCode==10) {
        
        var txtElementID = element;
        if (txtElementID.value == "") { return false; }
       // alert(txtElementID.value);
     
                    if (ifMatch(txtElementID.value, document.getElementById('txtLotCode').value)) {
                       capture(element);
                    }
                    else {
                       
                       txtElementID.value = "";
                       txtElementID.focus();
                       notify("Lot ID mismatch.Scan again"); //box instead of this... 
                       
       
        }        
    }    
}


function timeOut(object) { 

  if (ajaxTimeOut != null) {
      window.clearTimeout(ajaxTimeOut);   
  }    
  //alert("this is the reponse " + responsePHP)
   if (changeFocus = false || responsePHP == "no_reply" || ajaxRequest.readyState != 4 && ajaxRequest.readyState != 0) {
      //alert('ajaxRequest not ready');
      ajaxRequest.onreadystatechange = function() {};   
      ajaxRequest.abort();
      document.getElementById(object).disabled = false;
      document.getElementById(object).value = "";
      changeInputType(document.getElementById(object),'password');

      document.getElementById(object).focus();
      document.getElementById(object).focus();
      
      var txt = document.getElementById(object);
      if (txt.attachEvent) {
          txt.attachEvent ("onkeypress", function () {lotIdCheck(txt)});
      }  
      //notify("Please Scan again.");  
      alert("Please Scan again.");
      
   }
   else {
      return false;
   }
}

function timeOutOperator() { 

if (ajaxTimeOutOperator !== null) {
      window.clearTimeout(ajaxTimeOutOperator);   
  }    

if (transactionWasSaved = false || responsePHPOperator == "no_reply" || ajaxRequestOperator.readyState != 4 && ajaxRequestOperator.readyState != 0) {
      //alert('ajaxRequest not ready');
      ajaxRequestOperator.onreadystatechange = function() {};   
      ajaxRequestOperator.abort();
      document.getElementById('txtLotCode').disabled = false;
      document.getElementById('txtLotCode').value = "";
      document.getElementById('txtLotCode').focus();
      document.getElementById('txtLotCode').focus();
      //notify("Please Scan again.");  
      alert("Please Scan again.");   
}
   else {
      return false;
   }
}


function clearTiming() {
    changeFocus = true;
    if (ajaxTimeOut !== null) {
      window.clearTimeout(ajaxTimeOut);   
  }  
}

function clearTimingOperator() {
    transactionWasSaved = true;
    if (ajaxTimeOutOperator !== null) {
      window.clearTimeout(ajaxTimeOutOperator);   
  }  
}

function postSet() {
    if (window.event.keyCode==13 || window.event.keyCode==10) {
        document.getElementById('txtLotCode').disabled = true;
        
        verifyLotcode();
    }
}

//------------------------------------------------------------------------------------------------------------------

function verifyLotcode() {
responsePHPOperator = "no_reply";
transactionWasSaved = false;
ajaxRequestOperator = remoteRequestObject();
ajaxRequestOperator.onreadystatechange = function () {
if (ajaxRequestOperator.readyState==4 && ajaxRequestOperator.status==200) {
     //var result = ajaxRequestOperator.responseText;
     
     responsePHPOperator = ajaxRequestOperator.responseText; 
     
   //  alert(responsePHPOperator);
     if (responsePHPOperator == "failed") {
        document.getElementById('txtLotCode').disabled = false;
        document.getElementById('txtLotCode').value = "";
        document.getElementById('txtLotCode').focus();
       // notify("Please scan again.");
       alert("Please scan again.");
     }
     
     if (responsePHPOperator == "0") {
         
     //->> change to DOM    alert("Unauthorized operator");
        // notify("Unauthorized operator.<br />Scan Again.");
        alert("Unauthorized operator.<br/>Scan Again.");
         if (document.getElementById('txtLotCode').disabled) {
             document.getElementById('txtLotCode').disabled = false; 
         } 
         document.getElementById('txtLotCode').value = "";
         document.getElementById('txtLotCode').focus();
     }
     else { 
        // alert ('correct');
         save();                
       //  notify("Transaction has been saved.");
       //  reset();
     }    
   }
} 

var str = document.getElementById('txtLotCode').value;
var url = "validate_lotcode.php?q="+str;
ajaxRequestOperator.open("GET",url , true );           

// force i.e. not to cache
ajaxRequestOperator.setRequestHeader("If-Modified-Since", "Sat, 1 Jan 2000 00:00:00 GMT");
//---------------------------
ajaxRequestOperator.send(null);
ajaxTimeOutOperator = window.setTimeout("timeOutOperator();", 100000000);              
}

function save() {
// ajaxRequest = remoteRequestObject();              
    ajaxRequest.onreadystatechange = function () {
    if (ajaxRequest.readyState==4 && ajaxRequest.status==200) {
       var result = ajaxRequest.responseText;
       
       // alert (result);
          
           if (result == "failed") {
             // alert (result);
            document.getElementById('txtLotCode').disabled = false;
            document.getElementById('txtLotCode').value = "";
            document.getElementById('txtLotCode').focus();
            //notify("Please scan again.");
           alert("Please scan again");
           }
           
           if (result == "saved|saved" || result == "saved|saved|saved") {
              //alert(result);
             alert("Transaction has been saved.");
              //notify("Transaction has been saved.");
            //  reset();
           }   
           
       }     
    }      

             var parameters = "txtLotCode=" + encodeURI(document.getElementById('txtLotCode').value); 

var url = "update_dependency.php";  


ajaxRequest.open("POST", url, true);
ajaxRequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
ajaxRequest.setRequestHeader("Content-length", parameters.length);
ajaxRequest.setRequestHeader("Connection", "close");
ajaxRequest.send(parameters);
}
</script>


<script type="text/javascript">
function reset() {
        // alert ('reset');
       //enable elements
       
       document.getElementById('txtLotCode').disabled = false;
       
       //reset
  
  document.getElementById('txtLotCode').value = "";  
}
</script>

 

I got problem in function save, even it satisfied this code:

 

if (result == "saved|saved" || result == "saved|saved|saved") {

 

but it did not post alert and also not go to reset function.

 

 

I don't know why?:(

 

Thank you

Link to comment
Share on other sites

when I input the lotcode to textbox and I press the enter key it disabled the textbox and when I press F5 to refresh the forms the textbox was enabled and displayed the save data.

 

I want to happen is after I press the entey key it will alert the (Transaction has been saved) then clear the value of textbox.

 

Thank you

Link to comment
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.