webForum webForum sponsras med lina och serverplats av Binero AB

Gå tillbaka   webForum > Utveckling > Webbutveckling > Javascript

Javascript Här diskuteras det som rör Javascript, AJAX, DOM & DHTML.

Svar
 
Trådverktyg Visningsalternativ
Äldre 2005-03-30, 20:42   #1
MickeA.com
Medlem
 
MickeA.coms avatar
 
Registrerad: 2003-02-03
Ort: Sabang Beach, Puerto Galera, Philippines
Inlägg: 4 457
Lösningar: 73
Inaktivera tre Textrutor m.h.a Radioknappar

Tja!
Har sökt och kollat igenom en del trådar, även testar olika saker, men inte fått till ngn lösning på mitt problem.

Det här är läget:
Har ett stort formulär, där jag vill kunna inaktivera / aktivera tre textrutor, beroende på om en radioknapp står på "Ja", eller på "Nej".

När sidan laddas ska något av "Ja" resp. "Nej" kunna vara valt, beroende på en kryssruta i min Databas.

Hur ska jag lösa det här på bästa sätt?
Textrutorna som ska ändras heter "aNum", "vFrom" resp. "vTo" och radioknapparna heter "service" och kan vara av värdet "yes" eller "no".

Tack!
__________________
//Micke Andersson
Hemsida | Kontakta
----------------------
"Det är svårt att vara ödmjuk när man vet att man är bäst".
MickeA.com besöker inte forumet just nu   Svara med citat
Äldre 2005-03-31, 15:48   #2
MickeA.com
Medlem
 
MickeA.coms avatar
 
Registrerad: 2003-02-03
Ort: Sabang Beach, Puerto Galera, Philippines
Inlägg: 4 457
Lösningar: 73
Nu har jag sökt ännu mer och hittat en grej som borde funka, men som inte gör det...?

Kod:
<!--
function sEdit(){
	var f = document.frmEdit;
	if(f.service[0].checked == true){
		f.aNum.disabled = true;
		f.vFrom.disabled = true;
		f.vTo.disabled = true;
	}
	else{
		f.aNum.disabled = false;
		f.vFrom.disabled = false;
		f.vTo.disabled = false;
	}
}
//-->

.....................................

<input type="radio" name="service" value="ja" style="background-color: transparent; border: 0px;" onclick="sEdit();">Ja&nbsp;&nbsp;
<input type="radio" name="service" value="nej" style="background-color: transparent; border: 0px;" onclick="sEdit();" checked>Nej
Men ovanstående händer inget alls, får inget felmeddelande heller, konstigt, eller är jag ute o cyklar?

Någon som har en bättre lösning på det här?

Tack!
__________________
//Micke Andersson
Hemsida | Kontakta
----------------------
"Det är svårt att vara ödmjuk när man vet att man är bäst".
MickeA.com besöker inte forumet just nu   Svara med citat
Äldre 2005-03-31, 17:45   #3
MickeA.com
Medlem
 
MickeA.coms avatar
 
Registrerad: 2003-02-03
Ort: Sabang Beach, Puerto Galera, Philippines
Inlägg: 4 457
Lösningar: 73
Nu har jag löst det första problemet, det är precis som jag vill ha det.
Kod:
<script type="text/javascript">

var arr = ["vFrom","vTo", "aNum"];

function ed(f, e, d) {
    var elms = f.elements,
	eLen = e.length,
	dLen = d.length;

    while (eLen-->0) elms[e[eLen]].disabled = false;
    while (dLen-->0) elms[d[dLen]].disabled = true;

    switch (elms["vFrom"].disabled) {
	case true:
	{
	    
		elms["vFrom"].parentNode.style.backgroundColor = "#FFFFFF";
	    elms["vFrom"].style.backgroundColor = "#E3E4B4";
		elms["vFrom"].style.borderColor = "#C9C7BA";
		
		elms["vTo"].parentNode.style.backgroundColor = "#FFFFFF";
	    elms["vTo"].style.backgroundColor = "#E3E4B4";
		elms["vTo"].style.borderColor = "#C9C7BA";

		elms["aNum"].parentNode.style.backgroundColor = "#FFFFFF";
	    elms["aNum"].style.backgroundColor = "#E3E4B4";
		elms["aNum"].style.borderColor = "#C9C7BA";

		f.vFrom.disabled = true;
		f.vTo.disabled = true;
		f.aNum.disabled = true;
		
		f.vFrom.value = "";
		f.vTo.value = "";
		f.aNum.value = "";

	} break;

	case false:
	{
		
		elms["vFrom"].parentNode.style.backgroundColor = "#FFFFFF";
	    elms["vFrom"].style.backgroundColor = "#FFFFC0";
		elms["vFrom"].style.borderColor = "#C8C8C8";
		
		elms["vTo"].parentNode.style.backgroundColor = "#FFFFFF";
	    elms["vTo"].style.backgroundColor = "#FFFFC0";
		elms["vTo"].style.borderColor = "#C8C8C8";
		
		elms["aNum"].parentNode.style.backgroundColor = "#FFFFFF";
	    elms["aNum"].style.backgroundColor = "#FFFFC0";
		elms["aNum"].style.borderColor = "#C8C8C8";

		f.vFrom.disabled = false;
		f.vTo.disabled = false;
		f.aNum.disabled = false;
		
	} break;
    }
}

..........................................

<input type="radio" name="service" value="ja" style="background-color: transparent; border: 0px;" onclick="ed(this.form, ['vFrom'], ['vTo'])">Ja&nbsp;&nbsp;
<input type="radio" name="service" value="nej" style="background-color: transparent; border: 0px;" checked="checked" onclick="ed(this.form, ['vTo'], ['vFrom'])">Nej
Problemet är att jag måste kunna styra scriptet m.h.a asp. Dom här tre rutorna ska vara aktiva / inaktiva beroende på en kryssruta i min databas.

Jag kan trigga funktionen via bodytaggen, men det kommer bli ganska omständigt, så nu undrar jag om jag kan göra på något lättare sätt?

Tack!
__________________
//Micke Andersson
Hemsida | Kontakta
----------------------
"Det är svårt att vara ödmjuk när man vet att man är bäst".
MickeA.com besöker inte forumet just nu   Svara med citat
Äldre 2005-04-01, 08:45   #4
J.N.
Medlem
 
J.N.s avatar
 
Registrerad: 2003-04-02
Ort: Lund
Inlägg: 1 660
Lösningar: 64
HEJ!

Eftersom du skriver att du vill trigga funktionen onload, får jag intrycket att du inte vet hur du ska få radioknapparna att vara fyllda eller ej?

Det gör du genom att sätta checked på den beronde på vad du har i databasen.
if rs("rb1")=1 then a=" checked"
och sedan
<input type=radio<%=a%> osv>

Du gör likadant med disabled på textrutorna.
__________________
Johnny

wF-råd:
- är ditt inlägg förståeligt?
- korrekturläs ditt inlägg, redigera stavfel
- kom ihåg att markera det inlägg som löste problemet
J.N. besöker inte forumet just nu   Svara med citat
Äldre 2005-04-01, 14:29   #5
MickeA.com
Medlem
 
MickeA.coms avatar
 
Registrerad: 2003-02-03
Ort: Sabang Beach, Puerto Galera, Philippines
Inlägg: 4 457
Lösningar: 73
Tja
Tack för svaret, men löste det igårkväll.

Kan visa en lösning lite senare när jag kommer hem.
__________________
//Micke Andersson
Hemsida | Kontakta
----------------------
"Det är svårt att vara ödmjuk när man vet att man är bäst".
MickeA.com besöker inte forumet just nu   Svara med citat
Äldre 2005-04-01, 14:35   #6
Peter S
Medlem
 
Registrerad: 2002-12-15
Ort: Hudiksvall
Inlägg: 5 477
Lösningar: 806
glimten i ögat

Under tiden hinner jag posta en:
Kod:
<form name="frmEdit">
    <input type="radio" name="service" value="yes" onclick="c()"> Ja 
    <input type="radio" name="service" value="no" checked="checked" onclick="c()"> Nej
    <input type="text" name="aNum">
    <input type="text" name="vFrom">
    <input type="text" name="vTo">
</form>

<script type="text/javascript">

function c(){
    var cb = document.forms["frmEdit"].elements,
	ch = cb["service"][1].checked;

    cb["aNum"].disabled  = ch;
    cb["vFrom"].disabled = ch;
    cb["vTo"].disabled   = ch;
}

window.onload = c;

</script>
Peter S besöker inte forumet just nu   Svara med citat
Svar
webForum > Utveckling > Webbutveckling > Javascript

Trådverktyg
Visningsalternativ

Forumregler
Du får inte posta nya trådar
Du får inte posta svar
Du får inte bifoga filer
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG]-kod är
HTML-kod är av

Forumhopp


Alla tider är i GMT +1. Klockan är nu 22:59.


Powered by: vBulletin Version 3.8.6
Copyright © webForum