2017-06-28 53 views
1

我使用離子2.如何停止自動重定向頁面2離子

我使用的形式

這裏是我的代碼。

<form [formGroup]="Editflat" novalidate> 
     <ion-item> 
      <ion-label floating>About flat</ion-label> 
      <ion-textarea class="textareadesc" elastic formControlName="ABOUT_FLAT"> 
      </ion-textarea> 
     </ion-item> 
     <ion-item> 
      <ion-label floating>Area</ion-label> 
      <ion-input type="text" formControlName="AREA"></ion-input> 
     </ion-item> 
     <ion-item> 
      <ion-label floating>BHK</ion-label> 
      <ion-input type="text" formControlName="BHK"></ion-input> 
     </ion-item> 
     <ion-item > 
      <ion-label floating>Rent Amount</ion-label> 
      <ion-input type="text" formControlName="RENT_AMOUNT"></ion-input> 
     </ion-item> 
     <ion-item > 
      <ion-label floating>Sale Amount</ion-label> 
      <ion-input type="text" formControlName="SALE_AMOUNT"></ion-input> 
     </ion-item> 
     <ion-item class="check"> 
       <ion-label>Rent</ion-label> 
       <ion-checkbox checked="{{rent}}" (ionChange)="change($event)"></ion-checkbox> 
     </ion-item> 
     <ion-item class="check"> 
       <ion-label>Sale</ion-label> 
       <ion-checkbox checked="{{sale}}" (ionChange)="change($event)"></ion-checkbox> 
     </ion-item> 
     <ion-item> 
      <ion-label floating>Current rent amount</ion-label> 
      <ion-input type="text" formControlName="CURRENT_RENTAMOUNT"></ion-input> 
     </ion-item> 
     <div class="btn" (click)="Submit(Editflat,images,$event)"> 
      <button ion-button full>Update</button> 
     </div> 
</form> 

這裏是我的提交功能

Submit(value,imagevalue,event) 

{

//event.stopPropagation(); 

this.platform.ready().then(() => { 
      window.plugins.toast.show("Please wait...", "short",'bottom',3000); 
    }); 
var imagevalue1=imagevalue; 
var Result = moment().format('YYYY-MM-DD HH:mm:ss'); 
this.Editflat.controls['UPDATEDDATE'].setValue(Result); 
var f=this.af.database.list('/flats'); 
f.update(this.key,this.Editflat.value); 

//Send notification to tenant 

if(this.Editflat.value.TENANT_EXIST == '1') 
{ 
    var id=this.Editflat.value.TENANT_ID; 
    var filter=this.apartmentuser.filter(a=>a.USER_ID.toString() == id.toString()); 
    var E=filter[0].EMAIL; 
    var Mob=filter[0].MOBILE1; 
    var M=this.message2; 
    var s=this.Addform.value.TYPE; 
    var n1=filter[0].FIRST_NAME + filter[0].LAST_NAME; 

    //Send Email 

    this.authservice.sendEmail(n1,E,M,s).subscribe(data=>{ 
     console.log(data); 
     }) 

    //Send SMS 

    this.authservice.SendSms(Mob,M).subscribe(data=>{ 
    console.log(data); 
}); 

} 

    for(var i1 in this.Managementadmin) 
    { 

    //Get Current Date 

    var Result = moment().format('YYYY-MM-DD HH:mm:ss'); 
    var s=this.Managementadmin[i1].USER_ID.toString(); 
    this.Addform.controls['TO'].setValue(s); 
    this.Addform.controls['SEND_TIME'].setValue(Result); 
    var M=this.message2; 
    this.Addform.controls['MSG'].setValue(M); 
    var n=this.af.database.list('/notifications'); 
    n.push(this.Addform.value); 
     // this.sendnotifications.push(this.Addform.value); 
    var E=this.Managementadmin[i1].EMAIL; 
    var NAME=this.Managementadmin[i1].FIRST_NAME + this.Managementadmin[i1].LAST_NAME; 
    var Subject=this.Addform.value.TYPE; 
    this.authservice.sendEmail(NAME,E,M,Subject).subscribe(data=>{ 
     console.log(data); 
     }) 

    } 

var NUM=this.Numberval; 
var M1=this.message2; 
this.authservice.SendSms(NUM,M1).subscribe(data=>{ 
    console.log(data); 
}); 

     var path1=[]; 
     for(var i in imagevalue1) 
     { 
     console.log(); 
     if(imagevalue1[i].file) 
     { 
     //console.log("Image File : " +imagevalue1[i].file); 


     // convert base64 to raw binary data held in a string 
     // doesn't handle URLEncoded DataURIs - see stack overflow answer #6850276 for code that does this 
     var byteString = atob(imagevalue1[i].file.split(',')[1]); 

     // separate out the mime component 
     var mimeString = imagevalue1[i].file.split(',')[0].split(':')[1].split(';')[0] 

     // write the bytes of the string to an ArrayBuffer 
     var ab = new ArrayBuffer(byteString.length); 
     var ia = new Uint8Array(ab); 
     for (var j = 0; j < byteString.length; j++) { 
      ia[j] = byteString.charCodeAt(j); 
     } 

     // write the ArrayBuffer to a blob 
     var blob = new Blob([ab], {type: mimeString}); 
     console.log("Blob"); 
     console.log(blob); 

     var fileName = 'sample-' + new Date().getTime() + '.jpg'; 
     var storageRef = this.firebase.storage().ref('flats/'+fileName); 
      storageRef.put(blob).then((snapshot) => { 
       var img1url = snapshot.downloadURL; 
       path1.push({ 
       path:img1url}); 
      var flatvalue=this.af.database.list('/flats'); 
      flatvalue.update(this.key,{FLAT_IMAGES:path1}) 

      }) 
     } 
     //if(this.images[i].path) 
     else if(imagevalue1[i].path) 
     { 
      console.log("image value of path:" + imagevalue1[i].path); 
      path1.push({ 
       path:imagevalue1[i].path 
      }) 
      var flatvalue=this.af.database.list('/flats'); 
      flatvalue.update(this.key,{FLAT_IMAGES:path1}) 

      } 
     } 

     if(imagevalue1.length == 0) 
     { 
      console.log("image values are null") 
      var flatvalue=this.af.database.list('/flats'); 
      flatvalue.update(this.key,{FLAT_IMAGES:""}) 
     } 


     this.platform.ready().then(() => { 
      window.plugins.toast.show("Updated success", "short",'bottom',3000); 
    }); 
    return false; 

}

我的根頁是dashboard.ts。 我將按鈕頁面重定向到根頁面。 但我不寫任何代碼在頁面重定向。

請諮詢我,

感謝

+0

把返回false內提交功能 –

回答

1

問題:

你已經把點擊事件上的div (click)="Submit(Editflat,images,$event)",他怎麼知道$事件進行提交,即點擊事件應該是與按鈕不是DIV,也使這類型提交

<button ion-button full type='submit' (click)="Submit(Editflat,images,$event)">Update</button> 

然後與您的代碼嘗試如果它仍然沒有工作只是把return false提交函數內部,

Submit(value,imagevalue,event) 
{ 
    // event.preventDefault(); 
    return false; 
} 
+0

感謝UR reply.It不工作的設備。 – ANISUNDAR

+0

其實,我寫在我的function.I一些功能更新我的代碼,請檢查一下。 – ANISUNDAR

+0

一旦我更新數據,以火力地堡後頁面重定向沒有push.Why?.Kindly請幫助我。 – ANISUNDAR