Improve company productivity with a Business Account.Sign Up

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 616
  • Last Modified:

how to check values entered are in greater order...using javascript..


        The addcandidate function ,will add two textboxes of count 10 , I need to validate , that
entered values of textboxes follows  this...
1.Candidate --> Entered value should be greater always to the previous candidate texbox
1.Percent------->Entered values can be greater or equal to the previous percent textbox ...

how can i validate this peculiar condition plzz help??

  i.e (entered textbox value should be like this)
  candidate percent
   15              7
   16              9
   20             10
   22             12
   25             12
   30             20

if any entered values goes wrong should alert....
<a href="javascript:;" onclick="addcandidate()">Add candidatete</a>
    <input type="text" name="candidate1"   id="candidate1" runat="server"  />
    <input type="text" name="percent1" id="percent1" runat="server"  />
    <input type="text" name="candidate2" id="candidate2"  runat="server"  />
    <input type="text" name="percent2"  id="percent2" runat="server"  />
    ;;;;;;;;;;;;;;;;;
   <input type="text" name="candidate10" id="candidate10"  runat="server"  />
   <input type="text" name="percent10"  id="percent10" runat="server"  />
      <asp:Button id="Button1" runat="server" OnclientClick="return validate();"/>

Open in new window

0
Rajar Ahmed
Asked:
Rajar Ahmed
  • 3
  • 2
2 Solutions
 
coolersportCommented:

<script type="text/javascript">
<!--
function validate() {
  var lastCandidate = 0; // minimum starting candidate
  var lastPercent = 0; // minimum starting percent
  var e;
  for (var i = 1; i <= 10; i++) {
    e = parseInt(document.getElementById('candidate' + i).value);
    if (e > lastCandidate) { // notice the greater than sign
      lastCandidate = e;
    } else {
      alert('Candidate must be greater than the previous'); // you may show error here
      return false;
    }
    e = parseInt(document.getElementById('percent' + i).value);
    if (e >= lastPercent) { // notice the greater than or equal sign
      lastPercent = e;
    } else {
      alert('Percent must be greater than or equal the previous'); // you may show error here
      return false;
    }
  }
  return true;
}
-->
</script>

Open in new window

0
 
Rajar AhmedConsultantAuthor Commented:
validation part work wells,
 but if the user created only till  candidate4 textbox(for eg)  using addcandidate function()
 am getting OBJECT expected error
 Eg:in this case user want to create till candidate4..
 23 6  (candidate1 percent1)
 25 9  (candidate2 percent2)
 30 9  (candidate3 percent3)
 40 10 (candidate4 percent4)
(need not to be create after that ..at this time i get objectexpected error..)
 
 It is not necc that ,that all ten candidate value should be entered .
 If 10 candidate textbox is created not getting error, but if less than that am getting error...
 plz help....
0
 
jainnaveenCommented:
i see CoolerSport's answer goes all well.

And follow below for his code should work fro you.

name all canditate textbox as canditates and get lenth of textboxes using
var len = document.all.item("canditates ").length; and use in place of 10 in line -- for (var i = 1; i <= len; i++)


And loop  accordingly.

cheers,
Naveen
0
The 14th Annual Expert Award Winners

The results are in! Meet the top members of our 2017 Expert Awards. Congratulations to all who qualified!

 
coolersportCommented:

<script type="text/javascript">
<!--
function validate() {
  var lastCandidate = 0; // minimum starting candidate
  var lastPercent = 0; // minimum starting percent
  var e;
  var input;
  for (var i = 1; i <= 100; i++) {
    input = document.getElementById('candidate' + i);
    if (!input) break;
    e = parseInt(input.value);
    if (e > lastCandidate) { // notice the greater than sign
      lastCandidate = e;
    } else {
      alert('Candidate must be greater than the previous'); // you may show error here
      return false;
    }
  }
  for (var i = 1; i <= 100; i++) {
    input = document.getElementById('percent' + i);
    if (!input) break;
    e = parseInt(input.value);
    if (e >= lastPercent) { // notice the greater than or equal sign
      lastPercent = e;
    } else {
      alert('Percent must be greater than or equal the previous'); // you may show error here
      return false;
    }
  }
  return true;
}

Open in new window

0
 
coolersportCommented:
Last one lacks closing tag, so it doesn't render properly in EE :D

<script type="text/javascript">
<!--
function validate() {
  var lastCandidate = 0; // minimum starting candidate
  var lastPercent = 0; // minimum starting percent
  var e;
  var input;
  for (var i = 1; i <= 100; i++) {
    input = document.getElementById('candidate' + i);
    if (!input) break;
    e = parseInt(input.value);
    if (e > lastCandidate) { // notice the greater than sign
      lastCandidate = e;
    } else {
      alert('Candidate must be greater than the previous'); // you may show error here
      return false;
    }
  }
  for (var i = 1; i <= 100; i++) {
    input = document.getElementById('percent' + i);
    if (!input) break;
    e = parseInt(input.value);
    if (e >= lastPercent) { // notice the greater than or equal sign
      lastPercent = e;
    } else {
      alert('Percent must be greater than or equal the previous'); // you may show error here
      return false;
    }
  }
  return true;
}
-->
</script>

Open in new window

0
 
Rajar AhmedConsultantAuthor Commented:
Great...Made it so simple...it also Solved my various complexity of validations used before...Thansk :)...!!
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Upgrade your Question Security!

Your question, your audience. Choose who sees your identity—and your question—with question security.

  • 3
  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now