webForumDet fria alternativet

Antal ibockade kryss (checkbox)??

22 svar · 689 visningar · startad av soggy

soggyMedlem sedan nov. 200617 inlägg
#1

Hallå alla!
Jag har ett problem som säkert är enkelt att lösa men jag är ingen klippa på det här. Jag ska försöka förklara hur jag har tänkt det.

Man kan säga att det är som en frågeformulär, där det finns 2 två stycken checkbox (det verkar inte funka med radioknappar eftersom det är flera rader än en). En checkbox för Ja och en för Nej.
Längst ner på sidan skulle jag vilja kunna se resultatet på hur många Ja (Nej behövs eg. inte) som är ibockade. Hoppas att denna förklaring funkar.
Självklart så vore det ännu bättre om det är radiobuttons istället så att man bara kan välja ett av alternativen, men som sagt, jag är en riktigt rookie på detta så nån för gärna hjälpa till :)

Tacksam för all hjälp!!!

Mvh
Matte

The_HulkMedlem sedan juni 20031 837 inlägg
#2

Det ska inte vara några problem att använda radiobuttons.
Kom bara ihåg att sätta olika namn för olika grupper på radiobuttons.

/r

Rad 1
<input type="radio" name="row_01" value="yes">Ja
<input type="radio" name="row_01" value="no">Nej

<br/>Rad 2
<input type="radio" name="row_02" value="yes">Ja
<input type="radio" name="row_02" value="no">Nej

<br/>Rad 3
<input type="radio" name="row_03" value="yes">Ja
<input type="radio" name="row_03" value="no">Nej
soggyMedlem sedan nov. 200617 inlägg
#3

Jag kom precis på det där med namet så nu funkar det med radiobuttons, så nu återstår det att räkna ihop antalet Ja resp. Nej ibockningar....?!
Mvh
Matte

The_HulkMedlem sedan juni 20031 837 inlägg
#4

Vet du hur många rader det finns på sidan eller är det dynamiskt?
Hur ser namnen ut för de olika radiobuttons?

soggyMedlem sedan nov. 200617 inlägg
#5

det kommer att vara 450 olika ja och nej alternativ. Nu heter det Ja1, Ja2, osv

The_HulkMedlem sedan juni 20031 837 inlägg
#6

du kan använda en javascript-funktion för att räkna dem.
Lägg även till ett unikt ID för varje input-tagg, döp de till Ja1 resp Nej1 osv.

Tror detta kan fungera.
Finns säkert bättre sätt men detta kanske kan hjälpa dig lite på vägen.

function fn_count()
{
    var iCountYes;
    var iCountNo;

    for(i=1; i<=450; i++)
    {
        objYes = document.getElementById('Ja' + i);
        //objNo = document.getElementById('Nej' + i); //behövs inte.

        if(objYes.checked == true)
        {
            iCountYes++;
        }
        else
        {
            iCountNo++;
        }
    }
    
    alert("Ja: " + iCountYes + ", Nej: " + iCountNo);
}
soggyMedlem sedan nov. 200617 inlägg
#7

Kalas...bara en dum fråga...vad gör jag med koden? Klistrar in i HTML dokumentet eller?!

The_HulkMedlem sedan juni 20031 837 inlägg
#8

njae, på något ställe måste du anropa.
antingen kan du göra det varje gång man klickar på en av radio-knapparna men det är lite onödigt. annars får du har en knapp i slutet som man klickar på för att uppdatera statusen. just nu slänger den bara upp ett alert-fönster med informationen.

Svårt att säga exakt du hur ska lägga in den utan att se din kod.

du kan lägga följande knapp någonstans i ditt formulär.
<input type="button" value="Uppdatera" onClick="fn_count();">

/r
Såg förresten att den hamnat i fel forum, finns ett forum för javascript men det löser säkert någon moderator.

soggyMedlem sedan nov. 200617 inlägg
#9

dessvärre får jag bara fram ett "fel på sidan" längst nere i statusraden :(
Jag la koden i <head> avsnittet.
Såhär:
<SCRIPT LANGUAGE="JavaScript">
<!--
function fn_count()
{
var iCountYes;
var iCountNo;

for(i=1; i\<=450; i++)
{
    objYes = document.getElementById('Ja' + i);
    //objNo = document.getElementById('Nej' + i); //behövs inte.

    if(objYes.checked == true)
    {
        iCountYes++;
    }
    else
    {
        iCountNo++;
    }
}

alert("Ja: " + iCountYes + ", Nej: " + iCountNo);

}</SCRIPT>

soggyMedlem sedan nov. 200617 inlägg
#10

felkoden var att:
objekt krävs på rad 17 "objYes = document.getElementById('Ja' + i);" ??

The_HulkMedlem sedan juni 20031 837 inlägg
#11

kan du visa hela koden?

The_HulkMedlem sedan juni 20031 837 inlägg
#12

använd gärna kod-taggen så blir det lättare att läsa.
[ kod ]
kod kod
mera kod
[ / kod ]

fast utan mellanrum mellan [ och ]

soggyMedlem sedan nov. 200617 inlägg
#13

sure, det står:

rad: 17
tecken:9
fel: Objekt krävs
Kod: 0

HTML koden för hur det är uppbyggt ser ut såhär:

\<font face="Verdana" size="2"\>Aftonfalk\</font\>\</td\>
	\<td width="25"\>\<font face="Verdana"\>
	\<input type=radio name="Bird1" value="Ja1"\>\</font\>\</td\>
	\<td width="25"\>\<font face="Verdana"\>
	\<input type=radio name="Bird1" value="Nej1"\> \</font\>\</td\>
		\</tr\>

Vet inte om det är till nån hjälp?

(Stort tack för att du hjälper till )

The_HulkMedlem sedan juni 20031 837 inlägg
#14

du har inget ID på dina input-taggar

finns en [ html ] samt [ / html ] tagg för html-kod

<font face="Verdana" size="2">Aftonfalk</font></td>
<td width="25"><font face="Verdana">
<input type=radio name="Bird1" value="Ja" id="Ja1"></font></td>
<td width="25"><font face="Verdana">
<input type=radio name="Bird1" value="Nej" id="Nej1"> </font></td>
</tr>
soggyMedlem sedan nov. 200617 inlägg
#15

det står dessvärre samma sak som innan. Att "objekt krävs"
Har nu lagt till Id också :(

The_HulkMedlem sedan juni 20031 837 inlägg
#16

Skulle du kunna posta hela koden så vi kan testa den?

soggyMedlem sedan nov. 200617 inlägg
#17

Sure, här kommer koden (Jag har förkortat(gjort osynlig) den lite eftersom den annars är toklång) Nu visar jag bara de första 5 alternativen.

<html>

<head>
<title>Fågel</title>
<SCRIPT LANGUAGE="JavaScript">
<!--
function fn_count()
{
var iCountYes;
var iCountNo;

for(i=1; i\<=450; i++)
{
    objYes = document.getElementById('Ja' + i);
    //objNo = document.getElementById('Nej' + i); //behövs inte.

    if(objYes.checked == true)
    {
        iCountYes++;
    }
    else
    {
        iCountNo++;
    }
}

alert("Ja: " + iCountYes + ", Nej: " + iCountNo);

}</SCRIPT>

</head>
<br>
<body>

<table border="0" width="300">
<tr>
<td><u><b><font face="Verdana" size="2">Fågelart</font></b></u> </td>
<td width="55">
<p align="left"><u><b><font face="Verdana" size="2">Kryssad</font></b></u></td>
</tr>
</table>

<table border="0" width="300">
<tr>
<td> </td>
<td width="25"><font face="Verdana" size="2">Ja</font></td>
<td width="25"><font face="Verdana" size="2">Nej</font></td>
</tr>
<tr>
<td> </td>
<td width="25"> </td>
<td width="25"> </td>
</tr>
</table>
<table border="0" width="300">
<tr>
<td width="35">
<font face="Verdana" size="2">1</font></td>
<td>
<font face="Verdana" size="2">Aftonfalk</font></td>
<td width="25"><font face="Verdana">
<input type=radio name="Bird1" value="Ja" id="Ja"></font></td>
<td width="25"><font face="Verdana">
<input type=radio name="Bird1" value="Nej" id="Nej"> </font></td>
</tr>

		\<tr\>
		\<td width="35"\>
		\<font size="2" face="Verdana"\>2\</font\>\</td\>
			\<td\>
		\<font face="Verdana" size="2"\>Aftonfalk\</font\>\</td\>
	\<td width="25"\>\<font face="Verdana"\>
	\<input type=radio name="Bird2" value="Ja2" id="Ja2"\>\</font\>\</td\>
	\<td width="25"\>\<font face="Verdana"\>
	\<input type=radio name="Bird2" value="Nej2" id="Nej2"\> \</font\>\</td\>
		\</tr\>
		\<tr\>
		\<td width="35"\>
		\<font face="Verdana" size="2"\>3\</font\>\</td\>
		\<td\>
		\<font face="Verdana" size="2"\>Aftonfalk\</font\>\</td\>
	\<td width="25"\>\<font face="Verdana"\>
	\<input type=radio name="Bird3" value="Ja3" id="Ja3"\>\</font\>\</td\>
	\<td width="25"\>\<font face="Verdana"\>
	\<input type=radio name="Bird3" value="Nej3" id="Nej3"\> \</font\>\</td\>
		\</tr\>
		
		\<tr\>
		\<td width="35"\>
		\<font size="2" face="Verdana"\>4\</font\>\</td\>
			\<td\>
		\<font face="Verdana" size="2"\>Aftonfalk\</font\>\</td\>
	\<td width="25"\>\<font face="Verdana"\>
	\<input type=radio name="Bird4" value="Ja4" id="Ja4"\>\</font\>\</td\>
	\<td width="25"\>\<font face="Verdana"\>
	\<input type=radio name="Bird4" value="Nej4" id="Nej4"\> \</font\>\</td\>
		\</tr\>
		\<tr\>
		\<td width="35"\>
		\<font face="Verdana" size="2"\>5\</font\>\</td\>
		\<td\>
		\<font face="Verdana" size="2"\>Aftonfalk\</font\>\</td\>
	\<td width="25"\>\<font face="Verdana"\>
	\<input type=radio name="Bird5" value="Ja5" id="Ja5"\>\</font\>\</td\>
	\<td width="25"\>\<font face="Verdana"\>
	\<input type=radio name="Bird5" value="Nej5" id="Nej5"\> \</font\>\</td\>
				\</tr\>

		\<tr\>
		\<td width="35"\>
		\<font face="Verdana" size="2"\>6\</font\>\</td\>
			\<td\>
		\<font face="Verdana" size="2"\>Aftonfalk\</font\>\</td\>
	\<td width="25"\>\<font face="Verdana"\>
	\<input type=radio name="Bird6" value="Ja6"\>\</font\>\</td\>
	\<td width="25"\>\<font face="Verdana"\>
	\<input type=radio name="Bird6" value="Nej6"\> \</font\>\</td\>
		\</tr\>
		\<tr\>
		\<td width="35"\>
		\<font face="Verdana" size="2"\>7\</font\>\</td\>
		\<td\>
		\<font face="Verdana" size="2"\>Aftonfalk\</font\>\</td\>
	\<td width="25"\>\<font face="Verdana"\>
	\<input type=radio name="Bird7" value="Ja7"\>\</font\>\</td\>
	\<td width="25"\>\<font face="Verdana"\>
	\<input type=radio name="Bird7" value="Nej7"\> \</font\>\</td\>
		\</tr\>
		
		\<tr\>
		\<td width="35"\>
		\<font face="Verdana" size="2"\>8\</font\>\</td\>
			\<td\>
		\<font face="Verdana" size="2"\>Aftonfalk\</font\>\</td\>
	\<td width="25"\>\<font face="Verdana"\>
	\<input type=radio name="Bird8" value="Ja8"\>\</font\>\</td\>
	\<td width="25"\>\<font face="Verdana"\>
	\<input type=radio name="Bird8" value="Nej8"\> \</font\>\</td\>
		\</tr\>
		\<tr\>
		\<td width="35"\>
		\<font face="Verdana" size="2"\>9\</font\>\</td\>
		\<td\>
		\<font face="Verdana" size="2"\>Aftonfalk\</font\>\</td\>
	\<td width="25"\>\<font face="Verdana"\>
	\<input type=radio name="Bird9" value="Ja9"\>\</font\>\</td\>
	\<td width="25"\>\<font face="Verdana"\>
	\<input type=radio name="Bird9" value="Nej9"\> \</font\>\</td\>
		\</tr\>
		
		\<tr\>
		\<td width="35"\>
		\<font face="Verdana" size="2"\>10\</font\>\</td\>
			\<td\>
		\<font face="Verdana" size="2"\>Aftonfalk\</font\>\</td\>
	\<td width="25"\>\<font face="Verdana"\>
	\<input type=radio name="Bird10" value="Ja10"\>\</font\>\</td\>
	\<td width="25"\>\<font face="Verdana"\>
	\<input type=radio name="Bird10" value="Nej10"\> \</font\>\</td\>
		\</tr\>

	\</table\>

<br>
<br>
<input type="button" value="Summa" onClick="fn_count();">

	\</p\>

</body>
</html>

@ndersMedlem sedan juni 200032 969 inlägg
The_HulkMedlem sedan juni 20031 837 inlägg
#19
  1. till att börja med så visar du 10 alternativ men har bara lagt till ID på 5 av dem
  2. sen har du fortfarande 450 som max i for-satsen.
  3. sen har du inte med <form> och </form>
  4. märkte att jag hade ett litet fel i skriptet.

bifogar en kod som fungerar för mig

<html>

<head>
<title>Fågel</title>
<SCRIPT LANGUAGE="JavaScript">
<!--
function fn_count()
{
	var iCountYes = 0;
	var iCountNo = 0;

	for(i=1; i<=5; i++)
	{
		id = 'Ja' + i;
		objYes = document.getElementById(id);
		if(objYes != null)
		{
			if(objYes.checked == true)
			{
				iCountYes++;
			}
			else
			{
				iCountNo++;
			}
		}
		else
		{
			alert("kunde inte hitta " + id);
		}
	}
	alert("Ja: " + iCountYes + ", Nej: " + iCountNo);
}
</SCRIPT>

</head>
<body>

<form>
<table border="0" width="300">
<tr>
<td><u><b><font face="Verdana" size="2">Fågelart</font></b></u> </td>
<td width="55">
<p align="left"><u><b><font face="Verdana" size="2">Kryssad</font></b></u></td>
</tr>
</table>

<table border="0" width="300">
<tr>
<td>&nbsp;</td>
<td width="25"><font face="Verdana" size="2">Ja</font></td>
<td width="25"><font face="Verdana" size="2">Nej</font></td>
</tr>
<tr>
<td>&nbsp;</td>
<td width="25">&nbsp;</td>
<td width="25">&nbsp;</td>
</tr>
</table>
<table border="0" width="300">
<tr>
<td width="35">
<font face="Verdana" size="2">1</font></td>
<td>
<font face="Verdana" size="2">Aftonfalk</font></td>
<td width="25"><font face="Verdana">
<input type=radio name="Bird1" value="Ja" id="Ja1"></font></td>
<td width="25"><font face="Verdana">
<input type=radio name="Bird1" value="Nej" id="Nej1"> </font></td>
</tr>

<tr>
<td width="35">
<font size="2" face="Verdana">2</font></td>
<td>
<font face="Verdana" size="2">Aftonfalk</font></td>
<td width="25"><font face="Verdana">
<input type=radio name="Bird2" value="Ja2" id="Ja2"></font></td>
<td width="25"><font face="Verdana">
<input type=radio name="Bird2" value="Nej2" id="Nej2"> </font></td>
</tr>
<tr>
<td width="35">
<font face="Verdana" size="2">3</font></td>
<td>
<font face="Verdana" size="2">Aftonfalk</font></td>
<td width="25"><font face="Verdana">
<input type=radio name="Bird3" value="Ja3" id="Ja3"></font></td>
<td width="25"><font face="Verdana">
<input type=radio name="Bird3" value="Nej3" id="Nej3"> </font></td>
</tr>

<tr>
<td width="35">
<font size="2" face="Verdana">4</font></td>
<td>
<font face="Verdana" size="2">Aftonfalk</font></td>
<td width="25"><font face="Verdana">
<input type=radio name="Bird4" value="Ja4" id="Ja4"></font></td>
<td width="25"><font face="Verdana">
<input type=radio name="Bird4" value="Nej4" id="Nej4"> </font></td>
</tr>
<tr>
<td width="35">
<font face="Verdana" size="2">5</font></td>
<td>
<font face="Verdana" size="2">Aftonfalk</font></td>
<td width="25"><font face="Verdana">
<input type=radio name="Bird5" value="Ja5" id="Ja5"></font></td>
<td width="25"><font face="Verdana">
<input type=radio name="Bird5" value="Nej5" id="Nej5"> </font></td>
</tr>

</table>
<br>
<br>
<input type="button" value="Summa" onClick="fn_count();">

</p>

</form>
</body>
</html>

/r
hmm, kunde inte omsluta den koden med [ html ]så det fick bli [ kod ] istället

får man fråga varför du lagt rubrikerna i en egen tabell?

soggyMedlem sedan nov. 200617 inlägg
#20

Shit vad grym du är. Nu funkar det ju som det ska! Verkligen Tack så grymt mycket!!!

Rubrikerna i en egen tabell...Bra fråga där..*grubblar*. Helt onödigt kom jag nu på!

En annan grej när jag ändå har dig på tråden. Nu klickar man ju på knappen för att få reda på resultatet, kan man få så att resultatet kommer i en ruta på hemsida istället (typ en textruta). Kommer de ibockade val som jag valt vara kvar om man tex.surfar in på hemsida en annan dag? Kan man typ låsa värdena så att de är kvar tills nästa gång man besöker sidan?

Tack som f-an för all hjälp!!!!!

142 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
140 ms — hämta tråd, inlägg och bilagor (db)