Rajar Ahmed
asked on
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();"/>
SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
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("candita tes ").length; and use in place of 10 in line -- for (var i = 1; i <= len; i++)
And loop accordingly.
cheers,
Naveen
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("candita
And loop accordingly.
cheers,
Naveen
<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;
}
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
Great...Made it so simple...it also Solved my various complexity of validations used before...Thansk :)...!!
ASKER
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....