ios - PhoneGap - Resetting Plugins due to Page Load -


i facing problem in phonegap while integrating native emailcomposer.

mailcomposer should open on button click, not shows mailcomposer ios, same code android working,

my code follow:

        <html>         <head>             <script type="text/javascript" charset="utf-8" src="cordova.js"></script>             <script type="text/javascript" charset="utf-8" src="emailcomposer.js"></script>              <script type="text/javascript">             document.addeventlistener("deviceready", deviceready, true);             function deviceready() {                 console.log("device ready");             }.             //function send mail using mail composer             function composetext(){ var vehiclemileage = document.getelementbyid('vehiclemileage').value; var vehiclemodel = document.getelementbyid('vehiclemodel').value; var message1 = document.getelementbyid('message_body').value; var vechicleyear = document.getelementbyid("yeardropdown"); var struser = vechicleyear.options[vechicleyear.selectedindex].value; var vehiclemake = document.getelementbyid("vehiclemake"); var makevehicle = vehiclemake.options[vehiclemake.selectedindex].value;  var devicename = device.platform; var devicemodel = device.model;   if(vehiclemodel == '' || makevehicle == ''){ alert("please enter value");   navigator.notification.alert(         'please enter value', // message         alertdismissed,              // callback         'vehicle , model',        // title         'ok'                       // buttonname     );  } else {             //function check folder named "repairmycar" , extract picture folder attach mail                 var attachpath;                  var attachfile= new array();                 window.requestfilesystem(localfilesystem.persistent, 0, function(filesystem) {                     filesystem.root.getdirectory("repairmycar", {                         create: true                     },          function(directory) {             console.log("final 63" + directory.fullpath);             attachpaths = directory.fullpath;             var attachpath=attachpaths.slice(7,attachpaths.length);             var directoryreader = directory.createreader();             directoryreader.readentries(function(entries) {                 var i;                 (i=0; i<entries.length; i++) {                     console.log(entries[i].name); attachfile[i] =attachpath + "/" + entries[i].name;                             }                             console.log(attachfile);                         },                          function (error) {                             alert(error.code);                         });                      });                 }, function(error) {                     alert("can't file system: " + error.code);                 });                 var dated, fnamed, phoned, emailed;                  if(typeof(storage)!=="undefined") {  dated = localstorage.date;  fnamed = localstorage.fname;  phoned = localstorage.phone;  emailed= localstorage.email; }                  console.log(attachfile);                 var newattachment = attachfile.tostring();                 //open mail composer datas  settimeout(function(){window.plugins.emailcomposer.showemailcomposerwithcallback(null,                     "get estimate",                      "date: " + dated + '<br>' + "first name: " + fnamed +  '<br>' + "phone number: " + phoned +  '<br>' + "email address: " + emailed +   '<br>' + "year of vehicle: " + struser +  '<br>' + "make of vehicle: " + makevehicle +  '<br>' +  "model of vehicle: " + " " + vehiclemodel + '<br>' +                       "mileage of vehicle: " + " " + vehiclemileage + '<br>' +  message1 + '<br>' + "sent my:" + devicename + devicemodel,                 [sth@sth.com],                     [],                     [],                     true,                     attachfile                     );},100);                 //clear loccalstorage                 localstorage.clear();             //exit app after clicking button             navigator.app.exitapp();             // navigator.camera.cleanup(onsuccess,fail);             // function onsuccess(){             // }             // function fail(){             // }         } }         function onfail(message) {             alert('failed because: ' + message);         }      /***********************************************     * drop down date select script- javascriptkit.com     * notice must stay intact use     * visit javascript kit @ http://www.javascriptkit.com/ script , more     ***********************************************/     //function  load year in drodown. default selected year : current year     function populatedropdown(yearfield){         var today=new date()         var yearfield=document.getelementbyid(yearfield)         (var i=0; i<31; i++)             //select year     var thisyear=today.getfullyear()     (var y=0; y<25; y++){         yearfield.options[y]=new option(thisyear, thisyear)         thisyear-=1     }     yearfield.options[0]=new option(today.getfullyear(), today.getfullyear(), true, true) //select today's year     }     </script>      </head>     <body>         <div class="wrapper">             <h1>get repair estimate</h1>             <div class="main-content">     <p>                 please enter year, make, model , mileage of vehicle , other information should know.                 </p>                 <form class="vehicle-detail-form">                 <ul>                     <li>                         <label>year of vehicle: </label>                         <form action="" name="someform">                         <select id="yeardropdown">                         </select>                      </form>                      <script type="text/javascript">      //populatedropdown(id_of_day_select, id_of_month_select, id_of_year_select)     window.onload=function(){         populatedropdown("yeardropdown")     }     </script>                     </li>                     <!-- vehicle year selection -->      <li><label>model of vehicle:</label>     <input type="text" name="vehiclemodel" id = "vehiclemodel">     </li>     <li><label>mileage of vehicle:</label>     <input type="number" name="vehiclemileage" id = "vehiclemileage"></li>     <li>         <textarea  name="message_body" id = 'message_body'  placeholder="add notes here(if any)"></textarea>     </li>     </form>     <div style="clear:both;"></div>     <div class="large-button-wrapper">     <button onclick="composetext();">get estimate</button>     </div>       </div>     </div>     </body>     </html> 

i have kept emailcomposer.h , emailcomposer.m in plugin folder stated in this link

i found workaround if work on ios project. have same issue.

after view change in backbone router console.log stops working in xcode can use safari web inspector on mac. every console.log visible there.


Comments

Popular posts from this blog

java.util.scanner - How to read and add only numbers to array from a text file -

html - Repeat image to extend header to fill screen -

javascript - Backbone.js getting target attribute -