2

We are developing a PhoneGap app. We have 3 cases like this:

$("#dvData .quantity input").on('keyup', function() {
    var totalamount = 0;
    var discountAmount = 0;
    var LineAmount1 = 0;
    var vatAmount = 0;
    var FinalNetSales = 0;
    var qtyId = this.id;
    var qtyId1 = qtyId.substr(4);
    debugger;
    var sstextFieldvalue = $('#text' + qtyId1).val();

    alert(sstextFieldvalue);
    alert(sstextFieldvalue.length);

    if (sstextFieldvalue != "" || sstextFieldvalue != 0) {
        if (sstextFieldvalue > 20) {
            alert("Set1");
        } else {
            alert("FINE");
        }
    } 
    else {
        alert("REMOVE");
    }
});

When we enter more then 20 in text-field it's called first alert. If we enter a value in text-field it is called three alert. However, when we remove text-field value it's not call Second alert.

Please tell me what is wrong in my code.

Note: This code is working fine in browser but when we checked in my mobile devices it not working

Rory McCrossan
  • 331,213
  • 40
  • 305
  • 339

1 Answers1

0

use else if(sstextFieldvalue.length == "") instead of else if(! sstextFieldvalue)

else if(sstextFieldvalue == "")

Ok, i found this: how to check if input field is empty, so you can test the length of sstextFieldvalue.

update Your problem is your test, you can try this, tested on mobile:

if(sstextFieldvalue!="" || sstextFieldvalue!=0){
    if(sstextFieldvalue.length>20){
        alert("Set1");
    } else {
        alert("FINE");
    }
} else {
    alert("REMOVE");
}

Explain

1.It test if sstextFieldvalue!="" || sstextFieldvalue!=0, if it's true, it test if sstextFieldvalue.length>20 and show alert("Set1"), else it shows alert("FINE");

  1. into else, it means that the field is empty.

Hope it works for you as well as it works for me! :)

Community
  • 1
  • 1
Radonirina Maminiaina
  • 6,958
  • 4
  • 33
  • 60