2012-12-12 2 views
0

Je développe l'application web pour Mobile où je veux ouvrir l'éditeur de SMS à partir de javascript. ci-dessous est mon code ASPXappel côté serveur côté méthode et code javascript en même temps

<a class="redBtn fltrt" href="#" id="lnkBuy" runat="server" onclick="return makePayment()" onserverclick="lnkBuy_Click" rev='12' rel='21'>Buy</a> 

et la méthode onClick

function makePayment() 
    { 
     try 
     { 
      var res=confirm('Are you sure to continue?'); 
      if(res == true) 
      { 
       window.location='sms:+334343434343'; 
       return true; 
      } 
      else 
      { 
       return false; 
      } 
     } 
     catch(Error) 
     { 

     } 
    } 

ici est que je veux ouvrir l'éditeur de SMS et appeler à mon code derrière le code

protected void lnkBuy_Click(object sender, EventArgs e) 
{ 
    //code goes here 
} 

En utilisant ce et je suis en mesure d'ouvrir l'éditeur de SMS, mais ne pas être en mesure de rediriger vers mon code derrière le code.Can tout organisme me suggère un moyen de faire à la fois les deux action en même temps ou de toute autre manière pratique.

merci à l'avance

Répondre

0

J'utilise XMLHTTPRequest pour envoyer l'appel à ma page de traitement et écrire une autre fonction à rediriger vers l'appel natif de l'éditeur SMS.

Ci-dessous est mon code

function makeoldPayment(courseId,basketId) 
    { 
     try 
     { 
      var res=confirm('Are you sure to continue?'); 
      if(res == true) 
      {     
       var mobNo = document.getElementById('hidMNo').value; 
       var lerid = document.getElementById('hidLId').value; 
       var sendDataToServerReq = getXMLHttpRequest(); 

       var newURL = window.location.protocol + "//" + window.location.host + "/Learners/SaveToDB.aspx?cid=1&mbid=123456&bid=43&lid=3; 
       //alert(newURL) 
       sendDataToServerReq.open("POST", newURL, false); 

       sendDataToServerReq.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;charset=UTF-8;"); 
       gosms(); 
       sendDataToServerReq.send("mobno="+mobNo+"&lerid="+lerid+"&basketid="+basketId+"&recordid="+courseId); 
       location.reload(); 
       return false; 
      } 
      else 
      { 
       return false; 
      } 
     } 
     catch(Error) 
     { 

     } 
    } 

    function gosms() 
    { 
    try 
     { 
     window.location='sms:+334343434343'; 
     } 
     catch(Error) 
     { 
     } 
    } 



    function getXMLHttpRequest() 
    { 
     var httpRequest = null; 

     // Create the appropriate HttpRequest object for the browser. 
     if (window.XMLHttpRequest != null){ 
      httpRequest = new window.XMLHttpRequest(); 
     }else if (window.ActiveXObject != null){ 
      // Must be IE, find the right ActiveXObject. 
      var success = false; 
      for (var i = 0; i < XMLHTTPREQUEST_MS_PROGIDS.length && !success; i++) 
      { 
       try{ 
        httpRequest = new ActiveXObject(XMLHTTPREQUEST_MS_PROGIDS[i]); 
        success = true; 
       } 
       catch (ex) 
       {} 
      } 
     } 

     if (httpRequest == null){ 
      //alert("Error in HttpRequest():\n\nCannot create an XMLHttpRequest object."); 
     } 

     return httpRequest; 
    } 

hop cela vous aidera quelqu'un :)

0

Peut-être que vous pouvez le faire dans l'autre sens, en faisant l'appel du serveur d'abord, puis l'envoi d'une redirection vers le client « sms: 334343434343 »? Sinon, au lieu d'utiliser le mécanisme de rappel ASP.NET, envoyez un appel AJAX au serveur avant le changement de window.location.

Cela dépend de ce que vous devez faire côté serveur.

+0

mais cette redirection est fait où, dans 'lnkBuy_Click'? –

+0

merci pour la réponse, mais comment faire cet appel ajax? Pouvez-vous m'aider s'il vous plaît. –

+0

Oui, vous pouvez essayer de faire la redirection dans lnkBuy_Click. – sphair

Questions connexes