Knop 'Checkall' en 'Calculatetotalgold' werken niet goed!

Status
Niet open voor verdere reacties.

koeien

Nieuwe gebruiker
Lid geworden
9 dec 2009
Berichten
1
Hallo, ik probeer een spelletje te maken in php. Tussen de 'header' en de 'footer' komen er pagina's waarop de gebruiker zelf acties kan ondernemen.

Nu is het de bedoeling om het voor de gebruikers makkelijker te maken om bepaalde velden in te vullen met javascript (maar ik ben niet goed met javascript geloof ik :D).

De code hieronder wordt automatisch aangemaakt, maar javascript werkt niet goed :(

Wat er wel werkt:
- Indien een gebruiker de checkbox onder max aanduid, wordt het maximum aantal troepen ingevuld door middel van een onclick statement.
bv. bij de eerste: onClick='document.showall.field0.value="0";

- Indien een gebruiker op de knop Checkall drukt, worden alle checkboxen aangevinkt via een functie (De eerste die hieronder staat).

Wat niet werkt:

- Indien een gebruiker op de checkall knop duwt, worden de waarden niet automatisch in de desbetreffende velden ingevuld.Dit is hetzelfde voor de functie uncheckall.

- Ik heb ook geen idee hoe ik de functie voor de totale kostprijs goed kan laten werken. In principe zou hij de kostprijs moeten vermenigvuldigen met de maximale troepen. Het liefst zou ik willen dat deze automatisch een aanpassing maakt indien de inhoud van de velden veranderen.

Heeft er iemand een idee?

Alvast bedankt voor de reacties! :thumb:



Code:
<!-- Begin
function checkAll(checkbox)
{
	for (i = 0; i < checkbox.length; i++)
	{
		checkbox[i].checked = true ;
		
	}
}

function writeValue()
{
	alert("i");
	for (i = 0; i < documents.showall.elements.lenght; i++)
	{
		alert("i");
		if (document.showall.list=true)	document.showall.fieldi.value=document.showall.list.value;
	}
}

function uncheckAll(field)
{
	for (i = 0; i < field.length; i++)	field[i].checked = false ;
}

function calculate(field)
{
	var totalgold=0;
	var fieldValue=0;
	
    for (i = 0; i < field.length; i++)
    {   
	    if (field[i].checked == 1)
	    {
			fieldValue = field[i].value*1;
			//fieldValues = fieldValue*1;	//Converts string to a number
			
			//goldCost = goldcost[i].value;
			//goldCosts = goldCost*1;

		    totalgold += fieldValue;
	    }
	}
	
	document.showall.total.value = totalgold;       
}


//  End -->

</script>


<form class='tablebackground' name='showall' action='index.php?page=Pages/recruit' method='post'>

<h1 class='opvallend'>Recruit Units:</h1><table><tr><th>Number</th><th>Name</th><th>Gold Cost</th><th>You Have</th><th>Applicants</th><th>Recruit</th><th>Max</th></tr><tr><td>1.</td>

<td>Slave</td><td><input type='hidden' name='goldcost0' value='60'>60</td><td class='showoff'>29351</td><td>0</td><td><input class='input' type='text' size='3' maxlength='4' name='field0'></td><td><input type='checkbox' name='list' value='0' onClick='document.showall.field0.value="0";'></td></tr><tr><td>2.</td>

<td>Peasant</td><td><input type='hidden' name='goldcost1' value='3'>3</td><td class='showoff'>129</td><td>30</td><td><input class='input' type='text' size='3' maxlength='4' name='field1'></td><td><input type='checkbox' name='list' value='30' onClick='document.showall.field1.value="30";'></td></tr><tr><td>3.</td>

<td>Thug</td><td><input type='hidden' name='goldcost2' value='4'>4</td><td class='showoff'>140</td><td>0</td><td><input class='input' type='text' size='3' maxlength='4' name='field2'></td><td><input type='checkbox' name='list' value='0' onClick='document.showall.field2.value="0";'></td></tr><tr><td>4.</td>

<td>Watchman</td><td><input type='hidden' name='goldcost3' value='5'>5</td><td class='showoff'>2020</td><td>0</td><td><input class='input' type='text' size='3' maxlength='4' name='field3'></td><td><input type='checkbox' name='list' value='0' onClick='document.showall.field3.value="0";'></td></tr><tr><td>5.</td><td>Archer</td><td><input type='hidden' name='goldcost4' value='7'>7</td><td class='showoff'>29</td><td>0</td><td><input class='input' type='text' size='3' maxlength='4' name='field4'></td><td><input type='checkbox' name='list' value='0' onClick='document.showall.field4.value="0";'></td></tr><tr><td>6.</td><td>Guard</td><td><input type='hidden' name='goldcost5' value='10'>10</td><td class='showoff'>140</td><td>0</td><td><input class='input' type='text' size='3' maxlength='4' name='field5'></td><td><input type='checkbox' name='list' value='0' onClick='document.showall.field5.value="0";'></td></tr><tr><td>7.</td><td>Footman</td><td><input type='hidden' name='goldcost6' value='15'>15</td><td class='showoff'>101</td><td>0</td><td><input class='input' type='text' size='3' maxlength='4' name='field6'></td><td><input type='checkbox' name='list' value='0' onClick='document.showall.field6.value="0";'></td></tr><tr><td>8.</td><td>Cavalry</td><td><input type='hidden' name='goldcost7' value='25'>25</td><td class='showoff'>120</td><td>0</td><td><input class='input' type='text' size='3' maxlength='4' name='field7'></td><td><input type='checkbox' name='list' value='0' onClick='document.showall.field7.value="0";'></td></tr><tr><td>9.</td><td>Spy</td><td><input type='hidden' name='goldcost8' value='25'>25</td><td class='showoff'>128</td><td>0</td><td><input class='input' type='text' size='3' maxlength='4' name='field8'></td><td><input type='checkbox' name='list' value='0' onClick='document.showall.field8.value="0";'></td></tr><tr><td>10.</td><td>Officer</td><td><input type='hidden' name='goldcost9' value='50'>50</td><td class='showoff'>123</td><td>194110</td><td><input class='input' type='text' size='3' maxlength='4' name='field9'></td><td><input type='checkbox' name='list' value='194110' onClick='document.showall.field9.value="194110";'></td></tr>	</table>

	<p><input type='submit' class='admin' name='recruitit' value='Recruit!'></p>
	<br />
	<input type='hidden' name='processpage' value='processrecruit'>
	<input type="button" name="CheckAll" value="Check All" onClick="checkAll(document.showall.list)">
	<input type="button" name="Fill in" value="Fill All" onClick="writeValue(document.showall)">
<input type="button" name="UnCheckAll" value="Uncheck All" onClick="uncheckAll(document.showall.list)">
<br>
<input type="button" name="test" value="Calculate Total Gold" onClick="calculate(document.showall.list)"> <INPUT TYPE=TEXT NAME=total SIZE=10 onFocus="document.showall.elements[0].focus()">
</form>
 
Firefox zegt:
Warning: test for equality (==) mistyped as assignment (=)?
Source File: file:///C:/Documents%20and%20Settings/Niels%20Groot%20Obbink.NIELS/Bureaublad/test.html
Line: 18, Column: 32
Source Code:
if (document.showall.list=true) document.showall.fieldi.value=document.showall.list.value;
bij het laden, en
Warning: assignment to undeclared variable i
Source File: file:///C:/Documents%20and%20Settings/Niels%20Groot%20Obbink.NIELS/Bureaublad/test.html
Line: 5
bij 'uncheck all', en
Error: documents is not defined
Source File: file:///C:/Documents%20and%20Settings/Niels%20Groot%20Obbink.NIELS/Bureaublad/test.html
Line: 15
als ik op 'Fill all' of 'calculate' druk.


Ik raad je aan firefox te gebruiken (en dan vooral het console: ctrl+shift+j), dan kan je zelf deze fouten vinden!
 
Of nog beter, FireFox installeren en daarvoor FireBug downloaden en de console aanzetten :)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan