Avatar billede mousling Nybegynder
22. februar 2004 - 14:41 Der er 7 kommentarer og
1 løsning

markering af flere input felter

Jeg tænkte på om det er fuldstændig umuligt i asp at markere flere input-felter?
Jeg har mange input-felter og jeg ønsker at når man f.eks markere dem som man nu har brug for og klikker på en knap (med en bestemt farve) at så alle de markerede inputfelter skifter til denne farve.

Hvis det er umuligt er der så en der kan komme med et forslag til hvordan det ellers kan løses?
Avatar billede fennec Nybegynder
22. februar 2004 - 14:58 #1
det gøres ikke i asp, med i javascript. Her er et eks.

<SCRIPT LANGUAGE="JavaScript" TYPE="text/javascript">
<!--
function ChangeColor(farve)
{
    if(document.form.valg1.checked)
        document.form.data1.style.backgroundColor = farve;
    else
        document.form.data1.style.backgroundColor = 'white';

    if(document.form.valg2.checked)
        document.form.data2.style.backgroundColor = farve;
    else
        document.form.data2.style.backgroundColor = 'white';

    if(document.form.valg3.checked)
        document.form.data3.style.backgroundColor = farve;
    else
        document.form.data3.style.backgroundColor = 'white';

    if(document.form.valg4.checked)
        document.form.data4.style.backgroundColor = farve;
    else
        document.form.data4.style.backgroundColor = 'white';
}

//-->
</SCRIPT>
<form name="form">
<input type="Checkbox" name="valg1"><input type="Text" id="input1" name="data1"><br>
<input type="Checkbox" name="valg2"><input type="Text" id="input2" name="data2"><br>
<input type="Checkbox" name="valg3"><input type="Text" id="input3" name="data3"><br>
<input type="Checkbox" name="valg4"><input type="Text" id="input4" name="data4"><br>
<input type="Button" value="Blue" onclick="ChangeColor('blue')">
<input type="Button" value="Green" onclick="ChangeColor('green')">
<input type="Button" value="Yellow" onclick="ChangeColor('yellow')">
</form>
Avatar billede mousling Nybegynder
23. februar 2004 - 09:43 #2
Ok, jeg skal bruge javascript.

Her en lidt mere uddybende forklaring til hvad det er jeg har brug for....

Jeg har mange input felter på en side (et skema)
og ønsker, at markere en del af disse felter på én gang
hvorefter jeg vil klikke på en "knap" (en af seks mulige knapper),
og så have at de og kun de markerede felter udfyldes med
den farve som netop den knap jeg klikkede på indeholder.
Efterfølgende ønskes en dialogbox (popup) hvor jeg kan skrive
en tekst, som skriver i de markerede/valgte inputfelter.

Resultatet skulle være at de markerede felter nu indeholder
både en bestemt samme farve og tekst. Næste "action" på samme
side, vil det være markere andre felter hvor der ønskes en anden
farve fra "knap 2" med en tekst, uden at de først bliver ændret.

Er der en venlig sjæl som kan hjælpe mig med koden...?
Avatar billede fennec Nybegynder
23. februar 2004 - 10:02 #3
<SCRIPT LANGUAGE="JavaScript" TYPE="text/javascript">
<!--
function ChangeColor(farve)
{
  insertTxt = window.prompt("Hvilken text skal stå i inputfelterne???", "Default txt")
    if(document.form.valg1.checked)
    {
        document.form.data1.style.backgroundColor = farve;
        document.form.data1.value = insertTxt;
    }
    if(document.form.valg2.checked)
    {
        document.form.data2.style.backgroundColor = farve;
        document.form.data2.value = insertTxt;
    }
    if(document.form.valg3.checked)
    {
        document.form.data3.style.backgroundColor = farve;
        document.form.data3.value = insertTxt;
    }
    if(document.form.valg4.checked)
    {
        document.form.data4.style.backgroundColor = farve;
        document.form.data4.value = insertTxt;
    }
}

function CheckAll()
{
  document.form.valg1.checked = document.form.alle.checked;
  document.form.valg2.checked = document.form.alle.checked;
  document.form.valg3.checked = document.form.alle.checked;
  document.form.valg4.checked = document.form.alle.checked;
}
//-->
</SCRIPT>
<form name="form">
<input type="Checkbox" name="alle" onclick="CheckAll()">Alle<br>
<input type="Checkbox" name="valg1"><input type="Text" id="input1" name="data1"><br>
<input type="Checkbox" name="valg2"><input type="Text" id="input2" name="data2"><br>
<input type="Checkbox" name="valg3"><input type="Text" id="input3" name="data3"><br>
<input type="Checkbox" name="valg4"><input type="Text" id="input4" name="data4"><br>
<input type="Button" value="Blue" onclick="ChangeColor('blue')">
<input type="Button" value="Green" onclick="ChangeColor('green')">
<input type="Button" value="Yellow" onclick="ChangeColor('yellow')">
</form>
Avatar billede mousling Nybegynder
23. februar 2004 - 11:17 #4
Det var lige hvad jeg skulle bruge.... Tusind tak.
Poster du lige et svar så du kan få points... :-)
Avatar billede fennec Nybegynder
23. februar 2004 - 11:25 #5
Det var så lidt...
Avatar billede mousling Nybegynder
23. februar 2004 - 11:27 #6
Lige en sidste ting.
Jeg har jeg ved ikke hvor mange input-felter. Kan jeg køre dem igennem en for-løkke og bruge data1, data2, data3 osv. som variabler hvor tallet hele tiden udskiftes?
Avatar billede fennec Nybegynder
23. februar 2004 - 11:43 #7
Dette er en måde hvis du ved hvor mange elementer der er. Ellers skal skal du til at vælge en collection (array). F.eks document.getElementsByName(), også løbe den igennem for alle elementer deri.

for(f=1;f<=4;f++)
{
  if(document.getElementById("valg"+f).checked)
  {
    document.getElementById("data"+f).style.backgroundColor = farve;
    document.getElementById("data1"+f).value = insertTxt;
  }
}
Avatar billede mousling Nybegynder
23. februar 2004 - 15:21 #8
Lige hvad jeg skal bruge...

Endnu engang tak :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester