webForumDet fria alternativet

markera alla checkbox

13 svar · 480 visningar · startad av voigtann1

voigtann1Medlem sedan juni 20018 810 inlägg
#1

Hur gör man det??? i enkel kod.. alla är på en rad..

alla heter samma..:
<input type="checkbox" name="delID" value="<%=RecSet("id")%>">

borde väll vara rätt enkelt?

JojoxxMedlem sedan juni 20004 306 inlägg
#2

Läste lite fel först så exemplet fungerar även med unika namn på checkboxarna (om namnet börjar med...).

<script language="JavaScript" type="text/javascript">
function checkall(formobj,namestart){
	for(var n=0;n<formobj.length;n++){
		if(formobj[n].type=="checkbox" && formobj[n].name.indexOf(namestart)==0){
			formobj[n].checked=true;
		}
	}
}
</script>
<form name="myForm">
	<input type="checkbox" name="delID" value="0"> 
	<input type="checkbox" name="delID" value="1"> 
	<input type="checkbox" name="delID" value="2"> 
	<input type="checkbox" name="delIDx" value="3"> 
	<input type="checkbox" name="enannan" value="4"> 
	<a href="#" onClick="checkall(document.myForm,'delID');">Markera</a>
</form>
voigtann1Medlem sedan juni 20018 810 inlägg
#3

får detta fel:

Fel: 'lenght' är null eller inte ett objekt

JojoxxMedlem sedan juni 20004 306 inlägg
#4

Kolla så att du inte har en felstavning eller så så att document.myForm (i exemplet) inte pekar på formen. Klistrar du in exemplet i ett tomt dokument så skall det fungera.

JojoxxMedlem sedan juni 20004 306 inlägg
#5

Förtydligande:

I anropet till checkall() är alltså första argumentet objekt-referensen till formulärs-objektet. Använder du det ex. från en knapp i formuläret kan du använda this.form. Eftersom <a>-elementet inte är ett formulärselement får man i exemplet ange hela namnet från document.

voigtann1Medlem sedan juni 20018 810 inlägg
#6

jag klarar köra din kod som det är.. men om jag smäller ihop den med min asp kod.. så gillar dom inte varandra..

EkströmMedlem sedan feb. 20021 690 inlägg
#7

Tack chrabbar! Tänkte ställa samma fråga i samma forum, men sen såg jag denna. :e

voigtann1Medlem sedan juni 20018 810 inlägg
#8

fått det att fungera nu.. om någon vill veta så var det stora och små bokstäver som CP:ade sej.. tror jag :)

costodiaMedlem sedan aug. 2000780 inlägg
#9

jag har ett lite jobbigare problem, alla mina checkboxar har olika namn och det går inte att ändra på det eftersom jag kör ett färdigt asp-script som jag inte kan ändra i (statmentor från aspcode.net).

Alltså checkboxarna heter name="FD_20011228", name="FD_20011229" osv...

det finns dock en annan konstant i ceckboxen nämligen value="ON", jag funderar på om mankanske skulle kunna använda den istället?

costodiaMedlem sedan aug. 2000780 inlägg
#10

coolt, jag lyckades lösa det själv :)
jag tog och skrev bara FD_ alltså,

<a href="#" onClick="checkall(document.myForm,'FD_');">Markera</a></p>

tack för hjälpen, igen jojoxx ;)

Erik JuhlinMedlem sedan maj 20007 625 inlägg
#11

Kung Jojoxx har tänkt på allt! :D ;)

WebslaveMedlem sedan maj 2002662 inlägg
#12

Jag försöker köra detta men får meddelandet:
Rad: 29
Tecken: 14
Fel: Identifierare förväntas
Kod: 0

Rad 29 är:

<a href="#" onClick="checkall(document.delete,'messages');" OnMouseOver="window.status='Markera alla meddelanden'; return true;" OnMouseOut="window.status=' '; return true;">
JojoxxMedlem sedan juni 20004 306 inlägg
#13

"delete" är ett reserverat namn. Döp ditt formulär till något annat.

(eller använd onClick="checkall(document['delete'],'messages');")

WebslaveMedlem sedan maj 2002662 inlägg
#14

Ahhh... dumma mig...

Tack så mycket Jojoxx

131 ms totalt · 3 externa anrop · cache AV · v20260731051352-full.56cc9887
0 ms — hämta statistik (cache)
0 ms — hämta forumlista (cache)
129 ms — hämta tråd, inlägg och bilagor (db)