onChange zonder submit

Pagina: 1
Acties:

  • Kawa
  • Registratie: Juni 2001
  • Laatst online: 29-08 13:44
Is het mogelijk om een geselecteerde optie naar een java functie te sturen zonder dat de pagina gesubmit wordt? In onderstaand script wordt bij keuze "blaat1" een document.write uitgevoerd, maar ben dan de rest van de html kwijt :(
mijn doel is dat bij een keuze opties zichtbaar worden, danwel verdwijnen in het totale form.

Iemand enig idee?

HTML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<FORM NAME="form" ACTION="nvt.asp" METHOD="POST">
<SELECT NAME="select" SIZE="1" onChange="isSelected()">
    <OPTION VALUE="" SELECTED>- Kies iets -</OPTION>
    <OPTION VALUE="1">blaat1</OPTION>
    <OPTION VALUE="2">blaat2</OPTION>
    <OPTION VALUE="3">blaat3</OPTION>
    <OPTION VALUE="12">Other...</OPTION>

</SELECT>
</FORM>
<script language="javascript">
function isSelected(){
with (document.form.select){
    
    var selected = options[selectedIndex].value;
    if (selected == 1)
    {   
    document.write('blaat1 geselecteerd');
    }
      }
}
</script>

  • mulder
  • Registratie: Augustus 2001
  • Laatst online: 00:15

mulder

ik spuug op het trottoir

laat die functie eens false returnen

oogjes open, snaveltjes dicht


  • r0bert
  • Registratie: September 2001
  • Laatst online: 11-08 16:19
Andere variabelen en namen voor je veld nemen :?

edit:
document.write() kan natuurlijk niet nadat het document al geladen is .. innerHTML/innerText instead..

  • RM-rf
  • Registratie: September 2000
  • Laatst online: 29-08 00:08

RM-rf

1 2 3 4 5 7 6 8 9

een document.write() genereert an sich al direct een nieuwe pagina, hij impliceert een document.open() en erna een document.close().

als je dynamisch de content van een element wil aanpassen kun je innerText gebruiken, of innerHTML:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<FORM NAME="form" ACTION="nvt.asp" METHOD="POST">
<SELECT NAME="select" SIZE="1" onChange="isSelected()">
    <OPTION VALUE="" SELECTED>- Kies iets -</OPTION>
    <OPTION VALUE="1">blaat1</OPTION>
    <OPTION VALUE="2">blaat2</OPTION>
    <OPTION VALUE="3">blaat3</OPTION>
    <OPTION VALUE="12">Other...</OPTION>

</SELECT>
</FORM>
<span id="targetElement">hier komt je tekst</span>
<script language="javascript">
function isSelected(){
with (document.form.select){
    
    var selected = options[selectedIndex].value;
    if (selected == 1)
    {    
    document.getElementById('targetElement').innerText = 'blaat1 geselecteerd';
    }
      }
}
</script>


overigens kun je ook doen:

code:
1
2
3
with (document.form.select){
       document.getElementById('targetElement').innerText =  options[selectedIndex].text+' geselecteerd';
}

Intelligente mensen zoeken in tijden van crisis naar oplossingen, Idioten zoeken dan schuldigen


  • Kawa
  • Registratie: Juni 2001
  • Laatst online: 29-08 13:44
mijn dank is enorm _/-\o_ _/-\o_
ook voor andere reacties hoor :)