Gå til innhold

Skjema validerings funksjon


Anbefalte innlegg

Jeg har en tabell som lister opp alle radene i en mysql tabell, hver linje har en avkryssningsboks (checkbox) som får navnet "guild[x]" hvor x er lik id feltet i databasen. Jeg har laget meg en funksjon i javascript som sjekker om en boks er "checked".

  function doOnClick(cbox) {
 	box = eval("document.guilds.guild[" + cbox + "]");
 	box.checked = !box.checked;
 	
 	if(box.checked == true) color="#818181";
 	if(box.checked == false) color="";
 	return color;
 }

 

Funksjonen blir kjørt hver gang noen trykker på en rad, altså:

<tr onClick=this.style.backgroundColor=doOnClick('x')>

Effekten skal bli at raden får en annen bakgrunnsfarge når checkboxen i raden er merket, samtidig som hver gang en trykker på raden så markeres og avmerkeres boxen. Problemet er at dette ikke forekommer....

 

Noe som fungerer er hvis jeg bytter navn på checkboxene til "guildx" (guild1, guild2,guild3 osv...) og endrer funksjonen deretter... Hvorfor fungerer det ikke med "[ ]" i navnene?

Lenke til kommentar
Videoannonse
Annonse

Jeg har en tabell som lister opp alle radene i en mysql tabell, hver linje har en

  function doOnClick(cbox) {
 	box = eval("document.guilds.guild[" + cbox + "]");
 	box.checked = !box.checked;
 	
 	if(box.checked == true) color="#818181";
 	if(box.checked == false) color="";
 	return color;
 }

 

 

Prøv dette i koden din og se om det kan hjelpe deg på vei.

Fjernet noe fra koden din og da skulle det vel kunne fungere.

 

function doOnClick(cbox){box = eval("document.guilds.guild" + cbox + "");
 	if(box.checked == true) color="#818181";
 	if(box.checked == false) color="";
 	return color;}

Lenke til kommentar

Har glemt å si at jeg har løst problemet...

Men det fungerer det du sier ja, noe jeg også nevnte i det originale innlegget. Men problemet med den løsningen du forslår er at det er vanskelig å bruke dette i php etterpå.

 

edit: Og ser forresten at du også fjærnet linjen som setter checkboxen til checked/unchecked, som er det mest essensielle i hele funksjonen...

 

Hvis noen er interresert i løsningen så er den slik:

Funksjons kall:

<tr onClick=this.style.backgroundColor=doForm('$data[OpponentID]')>
// checkbox: 
<input type=\"checkbox\" name=\"guild[]\" id=\"guildID$data[OpponentID]\" value=\"$data[OpponentID]\">

(id feltet på checkboxene får verdier som "guildID1, guildID2, guildID3" osv.)

 

Selve funksjonen:

  function doForm(cbox) {
 	document.getElementById('guildID' + cbox).checked = !document.getElementById('guildID' + cbox).checked;
 
 	if(document.getElementById('guildID' + cbox).checked) color="#858585";
 	if(!document.getElementById('guildID' + cbox).checked) color="";
 	return color;
}

Så bruker jeg id feltet til å referere til checkboxen istedet for navn feltet.

Endret av MapSter
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...