/    Sign up×
Community /Pin to ProfileBookmark

using buttons to ++ / — a value in a table

I’m trying to use js to add and subtract a certain <td> value in my code. everything works fine until i get a certain value over “100”. its weird, everything int he code will work great up to 99, but once it goes over that, the value will only ++. cant get it to — after that mark. Any ideas?

[CODE]<script type=”text/javascript” language=”javascript”>
function add( stat, button, mini ) {
if ( button.value == “+” && document.form1.remBox.value > 0 ) {
stat.value++;
document.form1.remBox.value–;
}
if ( button.value == “-” && stat.value > mini.value ) {
stat.value–;
document.form1.remBox.value++;
}
}
</script>

<cfswitch expression=”#URL.ACTION#”>
<cfdefaultcase>
<h3>Choose Combo</h3>
<table cellpadding=”3″>
<tr>
<td>Aelf</td>
<td><a href=”?action=submit&race=aelf&class=fighter”>Fighter</a></td><td><a href=”?action=submit&race=aelf&class=healer”>Healer</a></td>
<td><a href=”?action=submit&race=aelf&class=mage”>Mage</a></td><td><a href=”?action=submit&race=aelf&class=rogue”>Rogue</a></td>
</tr>
<tr>
<td>Human</td>
<td><a href=”?action=submit&race=human&class=fighter”>Fighter</a></td><td><a href=”?action=submit&race=human&class=healer”>Healer</a></td>
<td><a href=”?action=submit&race=human&class=mage”>Mage</a></td><td><a href=”?action=submit&race=human&class=rogue”>Rogue</a></td>
</tr>
<tr>
<td>Minotaur</td>
<td><a href=”?action=submit&race=minotaur&class=fighter”>Fighter</a></td><td><a href=”?action=submit&race=minotaur&class=healer”>Healer</a></td>
</tr>
</table>
</cfdefaultcase>

<cfcase value=”submit”>
<cfparam name=”rempoints” default=”25″ />
<cfif url.class EQ “fighter”>
<cfoutput><h3>#url.race# – #url.class#</h3></cfoutput>
<cfset statArr = [ “95”, “80”, “90”, “70”, “30” ] />
<cfset minStatArr = [ statArr[1]-5, statArr[2]-5, statArr[3]-5, statArr[4]-5, statArr[5]-5 ] />
<cfelseif url.class EQ “healer”>
<cfoutput><h3>#url.race# – #url.class#</h3></cfoutput>
<cfset statArr = [ “50”, “60”, “90”, “90”, “40” ] />
<cfset minStatArr = [ statArr[1]-5, statArr[2]-5, statArr[3]-5, statArr[4]-5, statArr[5]-5 ] />
<cfelseif url.class EQ “mage”>
<cfoutput><h3>#url.race# – #url.class#</h3></cfoutput>
<cfset statArr = [ “60”, “60”, “60”, “95”, “50” ] />
<cfset minStatArr = [ statArr[1]-5, statArr[2]-5, statArr[3]-5, statArr[4]-5, statArr[5]-5 ] />
<cfelseif url.class EQ “rogue”>
<cfoutput><h3>#url.race# – #url.class#</h3></cfoutput>
<cfset statArr = [ “70”, “80”, “80”, “60”, “30” ] />
<cfset minStatArr = [ statArr[1]-5, statArr[2]-5, statArr[3]-5, statArr[4]-5, statArr[5]-5 ] />
</cfif>
<cfform name=”form1″ method=”post” action=”#CGI.SCRIPT_NAME#”>
<table>
<tr>
<td>str:</td>
<td><cfinput name=”strBox” value=”#statArr[1]#” size=”3″ /></td>
<td><cfinput type=”button” name=”addButton” value=”+” onclick=”add( this.form.strBox, this.form.addButton, this.form.minstr )” /></td>
<td><cfinput type=”button” name=”subButton” value=”-” onclick=”add( this.form.strBox, this.form.subButton, this.form.minstr )” /></td>
</tr>
<tr>
<td>dex:</td>
<td><cfinput name=”dexBox” value=”#statArr[2]#” size=”3″ /></td>
<td><cfinput type=”button” name=”addbutton” value=”+” onclick=”add( this.form.dexBox, this.form.addButton, this.form.mindex )” /></td>
<td><cfinput type=”button” name=”subbutton” value=”-” onclick=”add( this.form.dexBox, this.form.subButton, this.form.mindex )” /></td>
</tr>
<tr>
<td>con:</td>
<td><cfinput name=”conBox” value=”#statArr[3]#” size=”3″ /></td>
<td><cfinput type=”button” name=”addbutton” value=”+” onclick=”add( this.form.conBox, this.form.addButton, this.form.mincon )” /></td>
<td><cfinput type=”button” name=”subbutton” value=”-” onclick=”add( this.form.conBox, this.form.subButton, this.form.mincon )” /></td>
</tr>
<tr>
<td>int:</td>
<td><cfinput name=”intBox” value=”#statArr[4]#” size=”3″ /></td>
<td><cfinput type=”button” name=”addbutton” value=”+” onclick=”add( this.form.intBox, this.form.addButton, this.form.minint )” /></td>
<td><cfinput type=”button” name=”subbutton” value=”-” onclick=”add( this.form.intBox, this.form.subButton, this.form.minint )” /></td>
</tr>
<tr>
<td>spr:</td>
<td><cfinput name=”sprBox” value=”#statArr[5]#” size=”3″ /></td>
<td><cfinput type=”button” name=”addbutton” value=”+” onclick=”add( this.form.sprBox, this.form.addButton, this.form.minspr )” /></td>
<td><cfinput type=”button” name=”subbutton” value=”-” onclick=”add( this.form.sprBox, this.form.subButton, this.form.minspr )” /></td>
</tr>
<tr>
<td>pts:</td>
<td><cfinput name=”remBox” value=”#rempoints#” size=”3″ /></td>
</tr>
</table><br />
<cfinput type=”hidden” name=”minstr” value=”#minStatArr[1]#” />
<cfinput type=”hidden” name=”mindex” value=”#minStatArr[2]#” />
<cfinput type=”hidden” name=”mincon” value=”#minStatArr[3]#” />
<cfinput type=”hidden” name=”minint” value=”#minStatArr[4]#” />
<cfinput type=”hidden” name=”minspr” value=”#minStatArr[5]#” />
<p>min stat output</p>
<cfloop index=”x” from=”1″ to=”#arrayLen(minStatArr)#”>
<cfoutput>#minStatArr[x]#<br /></cfoutput>
</cfloop>
</cfform>
</cfcase>
</cfswitch>[/CODE]

to post a comment
JavaScript

3 Comments(s)

Copy linkTweet thisAlerts:
@FangJul 22.2008 — Input values are strings not numbers.parseInt(document.form1.remBox.value)
Copy linkTweet thisAlerts:
@wishkah353authorJul 22.2008 — tyyyyyyyyyyyyyyyyyyyyyy

would it be proper technique to just wrap parseInt() around them while theyre checking in the if's, or is it more acceptable to parse, then store into new variable?

[CODE]<script type="text/javascript" language="javascript">
function add( stat, button, mini ) {
if ( button.value == "+" && parseInt(document.form1.remBox.value) > 0 ) {
stat.value++;
document.form1.remBox.value--;
}
if ( button.value == "-" && parseInt(stat.value) > parseInt(mini.value) ) {
stat.value--;
document.form1.remBox.value++;
}
}
</script>[/CODE]
Copy linkTweet thisAlerts:
@FangJul 22.2008 — If you do the same operation more than once create a variable, otherwise just wrap.
×

Success!

Help @wishkah353 spread the word by sharing this article on Twitter...

Tweet This
Sign in
Forgot password?
Sign in with TwitchSign in with GithubCreate Account
about: ({
version: 0.1.9 BETA 6.17,
whats_new: community page,
up_next: more Davinci•003 tasks,
coming_soon: events calendar,
social: @webDeveloperHQ
});

legal: ({
terms: of use,
privacy: policy
});
changelog: (
version: 0.1.9,
notes: added community page

version: 0.1.8,
notes: added Davinci•003

version: 0.1.7,
notes: upvote answers to bounties

version: 0.1.6,
notes: article editor refresh
)...
recent_tips: (
tipper: @nearjob,
tipped: article
amount: 1000 SATS,

tipper: @meenaratha,
tipped: article
amount: 1000 SATS,

tipper: @meenaratha,
tipped: article
amount: 1000 SATS,
)...