简体   繁体   中英

Javascript swapable calculated field

I am working on a "calculator" (game) where you click on Form Input buttons and the numbers automatically Add together in the "Total" Input. However - I need to have Three (or more) "Total" Windows. And I would like to swap which "Total Window" you are using via a radio button.

I have it working with one "Total Window" - but I am unsure how to swap the Field that is being used in my calculations.

Probably something simple - but I am new to javascript and the syntax...

<script language="javascript" type="text/javascript">
/* Visit http://www.yaldex.com/ for full source code
and get more free JavaScript, CSS and DHTML scripts! */
<!-- Begin
function BetWIN(form) {
var MyField = eval(form.InputWIN.value)
}

function BetPLACE(form) {
var MyField = eval(form.InputPLACE.value)
}

function BetSHOW(form) {
var MyField = eval(form.InputSHOW.value)
}

function a_plus_b(form) {
a=eval(form.MyField.value)
b=eval(form.b.value)
z=a+b
form.MyField.value = z
}

function a_plus_c(form) {
a=eval(form.MyField.value)
c=eval(form.c.value)
z=a+c
form.MyField.value = z
}


function a_plus_d(form) {
a=eval(form.MyField.value)
d=eval(form.d.value)
z=a+d
form.MyField.value = z
}

function a_plus_e(form) {
a=eval(form.MyField.value)
e=eval(form.e.value)
z=a+e
form.MyField.value = z
}

function a_plus_f(form) {
a=eval(form.MyField.value)
f=eval(form.f.value)
z=a+f
form.MyField.value = z
}


function a_plus_g(form) {
a=eval(form.MyField.value)
g=eval(form.g.value)
z=a+g
form.MyField.value = z
}


function a_plus_h(form) {
a=eval(form.MyField.value)
h=eval(form.h.value)
z=a+h
form.MyField.value = z
}

// End -->
</script>

<FORM NAME="Calc">
<TABLE BORDER=4>
<TR>
<TD align="center"></TD>
<TD align="center"><input type="radio" name="BetSelector" value="InputWin"   onclick="BetWIN(this.form)" checked="checked" /> WIN<br /><INPUT TYPE="text"   NAME="InputWIN" Size="16" value="0" /></TD>
<TD align="center"><input type="radio" name="BetSelector" value="InputPLACE" onclick="BetPLACE(this.form)" /> PLACE<br /><INPUT TYPE="text" NAME="InputPLACE" Size="16" value="0" /></TD>
<TD align="center"><input type="radio" name="BetSelector" value="InputSHOW"  onclick="BetSHOW(this.form)" /> SHOW<br /><INPUT TYPE="text"  NAME="InputSHOW" Size="16" value="0" /></TD>
</TR>

<tr>
    <td colspan="4">
        <INPUT TYPE="button" NAME="b" VALUE="1"     OnClick="a_plus_b(this.form)" class="ChipB">
        <INPUT TYPE="button" NAME="c" VALUE="5"     OnCLick="a_plus_c(this.form)" class="ChipC">
        <INPUT TYPE="button" NAME="d" VALUE="25"    OnClick="a_plus_d(this.form)" class="ChipD">
        <INPUT TYPE="button" NAME="e" VALUE="100"   OnClick="a_plus_e(this.form)" class="ChipE">
        <INPUT TYPE="button" NAME="f" VALUE="500"   OnCLick="a_plus_f(this.form)" class="ChipF">
        <INPUT TYPE="button" NAME="g" VALUE="1000"  OnClick="a_plus_g(this.form)" class="ChipG">
        <INPUT TYPE="button" NAME="h" VALUE="5000"  OnClick="a_plus_h(this.form)" class="ChipH">
    </td>
</tr>
</TABLE>
</FORM>

I started a jsfiddle: http://jsfiddle.net/bigfatdesigns/eSAPk/

Side note: if you use jQuery it will ease the interaction between fields

To specify which total to use you can simply add the following lines to your a_plus_X functions to specify which total to use.

Code using jQuery calls

var TotalField = "#total_" + $(':radio[name="BetSelector"]:checked').val();

$(TotalField).val() = calculation();

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM