Avatar billede supermand69 Nybegynder
07. juni 2002 - 15:15 Der er 3 kommentarer og
1 løsning

diable input

Hej

Jeg sidder og rodder med en function i javascript som jeg ikke kan få til at virke....

Mit problem... Når man klikker på:
- $gruppe1 skal det radio-input foran blive makeret og $gruppe2 bliver disabled, eller hvis man klikker på det radio-input foran $gruppe1 bliver $gruppe2 disabled
- $gruppe2 skal det radio-input foran blive makeret og $gruppe1 bliver disabled, eller hvis man klikker på det radio-input foran $gruppe2 bliver $gruppe1 disabled

NB. $grupper, $gruppe1, $gruppe2 skal sendes som arrays, da man skal kunne lave en foreach på hver


<form name="liste" method="post">
<script language="javascript">
function valg11(i)
{
    if (i == 1)
    {
        liste.grupper[11].0.checked = true;
    }
    else
    {
        liste.grupper[11].1.checked = true;
    }
}
</script>
<input type="radio" name="grupper[11]" value="1" onClick="valg11(1)> <select name="gruppe1[11]" onClick="valg11(1)">
<option>noget</option><option>noget andet</option></select>
<br>
<input type="radio" name="grupper[11]" value="2" onClick="valg11(2)> <input type="text" name="gruppe2[11]" onClick="valg11(2)">

<br><br>

<script language="javascript">
function valg20(i)
{
    if (i == 1)
    {
        liste.grupper[20].0.checked = true;
    }
    else
    {
        liste.grupper[20].1.checked = true;
    }
}
</script>
<input type="radio" name="grupper[20]" value="1" onClick="valg20(1)> <select name="gruppe1[20]" onClick="valg20(1)">
<option>noget</option><option>noget andet</option></select>
<br>
<input type="radio" name="grupper[20]" value="2" onClick="valg20(2)> <input type="text" name="gruppe2[20]" onClick="valg20(2)">
</form>
Avatar billede yellow Nybegynder
07. juni 2002 - 17:42 #1
"...eller hvis man klikker på det radio-input foran $gruppe1 bliver $gruppe2 disabled" Jeg går ud fra at $gruppe1 her selv er disabled inden klikket...man kan ikke klikke på et disabled felt, så det giver ingen mening...

"NB. $grupper, $gruppe1, $gruppe2 skal sendes som arrays, da man skal kunne lave en foreach på hver"
A-hva? Kan du forklare det nærmere?

name="grupper[11]"
Det er fy at bruge [ og ] i formelementNavne...brug evt. end underscore til at seperere text og nummer...

Jeg har lavet noget kode..er det noget lignende det her du prøvet på?:

<script language=javascript>
function valg( myElement ){
  var gruppe = myElement.name.split("_")[1];
  eval('document.all.gruppe1_' + gruppe ).disabled = ( myElement.value == 1 )?false:true;
  eval('document.all.gruppe2_' + gruppe ).disabled = ( myElement.value == 1 )?true:false;
}
</script>

<form name="liste" method="post">

<input type="radio" name="grupper_11" checked value="1" onclick="valg( this );">
<select name="gruppe1_11">
  <option>noget</option>
  <option>noget andet</option>
</select>
<br>
<input type="radio" name="grupper_11" value="2" onClick="valg( this );">
<input type="text" disabled name="gruppe2_11">

<br><br>

<input type="radio" name="grupper_20" checked value="1" onclick="valg( this );">
<select name="gruppe1_20">
  <option>noget</option>
  <option>noget andet</option>
</select>
<br>
<input type="radio" name="grupper_20" value="2" onClick="valg( this );">
<input type="text" disabled name="gruppe2_20">

</form>
Avatar billede supermand69 Nybegynder
07. juni 2002 - 19:07 #2
Grunden til at jeg  bruger [ og ] er at det skal sendes som arrays i php...
Avatar billede yellow Nybegynder
07. juni 2002 - 22:02 #3
Ok, hvis du vil, men det er ikke "pænt" imho.

<script language=javascript>
function valg( myElement ){
  var gruppe = /\[(\d+)\]/.exec( myElement.name )[1];
  document.all('gruppe1[' + gruppe + ']' ).disabled = ( myElement.value == 1 )?false:true;
  document.all('gruppe2[' + gruppe + ']').disabled = ( myElement.value == 1 )?true:false;
}
</script>

<form name="liste" method="post">

<input type="radio" name="grupper[11]" checked value="1" onclick="valg( this );">
<select name="gruppe1[11]">
  <option>noget</option>
  <option>noget andet</option>
</select>
<br>
<input type="radio" name="grupper[11]" value="2" onClick="valg( this );">
<input type="text" disabled name="gruppe2[11]">

<br><br>

<input type="radio" name="grupper[20]" checked value="1" onclick="valg( this );">
<select name="gruppe1[20]">
  <option>noget</option>
  <option>noget andet</option>
</select>
<br>
<input type="radio" name="grupper[20]" value="2" onClick="valg( this );">
<input type="text" disabled name="gruppe2[20]">

</form>
Avatar billede supermand69 Nybegynder
23. juli 2002 - 02:04 #4
Har fundet en løsning i PHP
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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