Avatar billede hoppe11 Nybegynder
31. marts 2008 - 00:01 Der er 13 kommentarer og
1 løsning

this.value i IE

Jeg har nedenfor en onchange på en select.. Idet man vælger en ny option skal den nyvalgte option sendes med i min form. I Firefox virker det, men ikke i IE?

Findes der et alternativ så det virker i både IE og Firefox?

<select onchange="this.form.action.value = 'order'; this.form.track_id.value = 215; this.form.track_pos.value = this.value; this.form.submit()">
Avatar billede olebole Juniormester
31. marts 2008 - 00:40 #1
<ole>

Du har forhåbentlig ikke et felt med navnet 'action'? I så fald skal du døbe det om - ellers ved JS-fortolkeren ikke, om det er formens action attribut eller feltet med navnet 'action', du vil adressere  ;o)

/mvh
</bole>
Avatar billede olebole Juniormester
31. marts 2008 - 00:41 #2
- brug heller aldrig en knap med navnet 'submit'  ;o)
Avatar billede roenving Novice
31. marts 2008 - 16:27 #3
-- eller f.eks. en form med navnet 'form' !-)
Avatar billede hoppe11 Nybegynder
31. marts 2008 - 17:03 #4
selvom jeg ændrer action feltet til noget andet ændrer det ikke på noget :(
Avatar billede olebole Juniormester
31. marts 2008 - 20:08 #5
Denne kode kan jeg altså ikke få til andet end at virke:

<form action="">
    <select onchange="this.form.noget.value = 'order'; this.form.track_id.value = 215; this.form.track_pos.value = this.value; this.form.submit()">
        <option value="et">Option #1</option>
        <option value="to">Option #2</option>
        <option value="tre">Option #3</option>
        <option value="fire">Option #4</option>
    </select>
    <p><input type="text" name="track_id"></p>
    <p><input type="text" name="track_pos"></p>
    <p><input type="text" name="noget"></p>
</form>

Test den i et 'nøgent' HTML-dokument - og tjek, hvad der står i adresselinjen efter submit
Avatar billede hoppe11 Nybegynder
06. april 2008 - 15:30 #6
ja, her virker det godt nok, men jeg forstår det virkelig ikke? jeg kan ikke forstå hvordan noget kan have indvirkning på det?

onchange="this.form.track_id.value = 215; this.form.track_pos.value = this.value; alert(this.value)"

her bliver this.value heller ikke alertet i IE.. selve scriptet foregår jo på selve elementet så kan ikke lige se for mig hvorfor det ikke skulle kunne virke?
Avatar billede erikjacobsen Ekspert
06. april 2008 - 15:34 #7
...mere af din kode, tak. ;)
Avatar billede hoppe11 Nybegynder
06. april 2008 - 17:51 #8
<form method="post" action="/trackcompiler.net/list.php?mode=comp&limit=0">
<input type="hidden" name="_form" value="list">
<input type="hidden" name="act">
<input type="hidden" name="track_id">
<input type="hidden" name="track_pos">
<table style="margin:0 auto">
  <tr>
    <td colspan="10"><div class="actions"><span class="marked">Actions:</span> <a href="java script:popup(1)">Print</a>
    | <a href="/trackcompiler.net/list.php?mode=comp&limit=0&comp_id=1">Track order</a></div>

    <div class="comp_id" style="float:right">1</div><div class="comp_headline">Electro house, Progressive house</div></td>
  </tr>
  <tr style="text-align:center">
    <td class="list_top"></td>
    <td class="list_top"></td>
    <td class="list_top">Track</td>
    <td class="list_top">Genre</td>

    <td class="list_top">BPM</td>
    <td class="list_top">End</td>
    <td class="list_top">Label</td>
    <td class="list_top">Released</td>
    <td class="list_top">Rating</td>
  </tr>

  <tr>
    <td class="list list_sec" style="padding-right:0px"><input type="checkbox" name="id_arr[]" value="1069"></td>
    <td class="list list_sec" style="text-align:right">
<span class="headline">1</span>    </td>
    <td class="list list_sec"><span class="marked">Adam K & Soha</span><br>Twilight</td>
    <td class="list list_sec">Progressive house</td>

    <td class="list list_sec" style="text-align:right">128</td>
    <td class="list list_sec" style="text-align:right; white-space:nowrap">-00:05</td>
    <td class="list list_sec">Motivo</td>
    <td class="list list_sec" style="text-align:right; white-space:nowrap">2008-02</td>
    <td class="list list_sec" style="text-align:right; white-space:nowrap"><img class="none" src="gfx/obj.rating1.png" style="margin-left:3px"><img class="none" src="gfx/obj.rating1.png" style="margin-left:3px"><img class="none" src="gfx/obj.rating1.png" style="margin-left:3px"><img class="none" src="gfx/obj.rating1.png" style="margin-left:3px"><img class="none" src="gfx/obj.rating1.png" style="margin-left:3px"></td>
  </tr>
  <tr>

    <td class="list " style="padding-right:0px"><input type="checkbox" name="id_arr[]" value="1079"></td>
    <td class="list " style="text-align:right">
<span class="headline">2</span>    </td>
    <td class="list "><span class="marked">30hz feat. Yolanda</span><br>Daddio (Miles Dyson remix)</td>
    <td class="list ">Electro house</td>
    <td class="list " style="text-align:right">127</td>

    <td class="list " style="text-align:right; white-space:nowrap">-00:47</td>
    <td class="list ">LOT49</td>
    <td class="list " style="text-align:right; white-space:nowrap">2007-11</td>
    <td class="list " style="text-align:right; white-space:nowrap"><img class="none" src="gfx/obj.rating1.png" style="margin-left:3px"><img class="none" src="gfx/obj.rating1.png" style="margin-left:3px"><img class="none" src="gfx/obj.rating1.png" style="margin-left:3px"><img class="none" src="gfx/obj.rating1.png" style="margin-left:3px"><img class="none" src="gfx/obj.rating1.png" style="margin-left:3px"></td>
  </tr>
  <tr>
    <td class="list list_sec" style="padding-right:0px"><input type="checkbox" name="id_arr[]" value="1223"></td>

    <td class="list list_sec" style="text-align:right">
<span class="headline">3</span>    </td>
    <td class="list list_sec"><span class="marked">Abel The Kid & Raul Ortiz</span><br>Kraco</td>
    <td class="list list_sec">Progressive house</td>
    <td class="list list_sec" style="text-align:right">127</td>
    <td class="list list_sec" style="text-align:right; white-space:nowrap">-00:06</td>

    <td class="list list_sec">Set Me Free</td>
    <td class="list list_sec" style="text-align:right; white-space:nowrap">2008-01</td>
    <td class="list list_sec" style="text-align:right; white-space:nowrap"><img class="none" src="gfx/obj.rating1.png" style="margin-left:3px"><img class="none" src="gfx/obj.rating1.png" style="margin-left:3px"><img class="none" src="gfx/obj.rating1.png" style="margin-left:3px"><img class="none" src="gfx/obj.rating1.png" style="margin-left:3px"><img class="none" src="gfx/obj.rating1.png" style="margin-left:3px"></td>
  </tr>
  <tr>
    <td class="list " style="padding-right:0px"><input type="checkbox" name="id_arr[]" value="1373"></td>
    <td class="list " style="text-align:right">
<span class="headline">4</span>    </td>

    <td class="list "><span class="marked">16 Bit Lolitas</span><br>Back to one</td>
    <td class="list ">Progressive house</td>
    <td class="list " style="text-align:right">126</td>
    <td class="list " style="text-align:right; white-space:nowrap">-00:05</td>
    <td class="list ">Hope Recordings</td>
    <td class="list " style="text-align:right; white-space:nowrap">2007-04</td>

    <td class="list " style="text-align:right; white-space:nowrap"><img class="none" src="gfx/obj.rating1.png" style="margin-left:3px"><img class="none" src="gfx/obj.rating1.png" style="margin-left:3px"><img class="none" src="gfx/obj.rating1.png" style="margin-left:3px"><img class="none" src="gfx/obj.rating1.png" style="margin-left:3px"><img class="none" src="gfx/obj.rating1.png" style="margin-left:3px"></td>
  </tr>
  <tr>
    <td class="list list_sec" style="padding-right:0px"><input type="checkbox" name="id_arr[]" value="1417"></td>
    <td class="list list_sec" style="text-align:right">
<span class="headline">5</span>    </td>
    <td class="list list_sec"><span class="marked">Aaron McClelland</span><br>Spirit</td>

    <td class="list list_sec">Progressive house</td>
    <td class="list list_sec" style="text-align:right">130</td>
    <td class="list list_sec" style="text-align:right; white-space:nowrap">-00:55</td>
    <td class="list list_sec">Mena Music</td>
    <td class="list list_sec" style="text-align:right; white-space:nowrap">2006-06</td>
    <td class="list list_sec" style="text-align:right; white-space:nowrap"><img class="none" src="gfx/obj.rating1.png" style="margin-left:3px"><img class="none" src="gfx/obj.rating1.png" style="margin-left:3px"><img class="none" src="gfx/obj.rating1.png" style="margin-left:3px"><img class="none" src="gfx/obj.rating1.png" style="margin-left:3px"><img class="none" src="gfx/obj.rating1.png" style="margin-left:3px"></td>

  </tr>
  <tr>
    <td class="list" style="padding-right:0px"></td>
    <td class="list" colspan="8" style="padding-bottom:40px; text-align:right">
    <input type="button" value="Loose" onclick="this.form.act.value = 'loose'; this.form.submit()">
    <input type="button" value="Edit" onclick="this.form.act.value = 'edit'; this.form.submit()">
    <input type="button" value="Delete" onclick="if(confirm('Delete tracks?')) { this.form.act.value = 'delete'; this.form.submit(); }"></td></td>
  </tr>
</table>

</form>
Avatar billede hoppe11 Nybegynder
06. april 2008 - 17:52 #9
hov.. min fejl.. her er den rigtige kode

<form method="post" action="/trackcompiler.net/list.php?mode=comp&comp_id=1&limit=0">
<input type="hidden" name="_form" value="list">
<input type="hidden" name="act">
<input type="hidden" name="track_id">
<input type="hidden" name="track_pos">
<table style="margin:0 auto">
  <tr>
    <td colspan="10"><div class="actions"><span class="marked">Actions:</span> <a href="java script:popup(1)">Print</a>
    </div>

    <div class="comp_id" style="float:right">1</div><div class="comp_headline">Electro house, Progressive house</div></td>
  </tr>
  <tr style="text-align:center">
    <td class="list_top"></td>
    <td class="list_top"></td>
    <td class="list_top">Track</td>
    <td class="list_top">Genre</td>

    <td class="list_top">BPM</td>
    <td class="list_top">End</td>
    <td class="list_top">Label</td>
    <td class="list_top">Released</td>
    <td class="list_top">Rating</td>
  </tr>

  <tr>
    <td class="list list_sec" style="padding-right:0px"><input type="checkbox" name="id_arr[]" value="1069"></td>
    <td class="list list_sec" style="text-align:right">
<select onchange="this.form.act.value = 'order'; this.form.track_id.value = 1069; this.form.track_pos.value = this.value; alert(this.value); this.form.submit()"><option selected>1</option><option >2</option><option >3</option><option >4</option><option >5</option></select>    </td>
    <td class="list list_sec"><span class="marked">Adam K & Soha</span><br>Twilight</td>

    <td class="list list_sec">Progressive house</td>
    <td class="list list_sec" style="text-align:right">128</td>
    <td class="list list_sec" style="text-align:right; white-space:nowrap">-00:05</td>
    <td class="list list_sec">Motivo</td>
    <td class="list list_sec" style="text-align:right; white-space:nowrap">2008-02</td>
    <td class="list list_sec" style="text-align:right; white-space:nowrap"><img class="none" src="gfx/obj.rating1.png" style="margin-left:3px"><img class="none" src="gfx/obj.rating1.png" style="margin-left:3px"><img class="none" src="gfx/obj.rating1.png" style="margin-left:3px"><img class="none" src="gfx/obj.rating1.png" style="margin-left:3px"><img class="none" src="gfx/obj.rating1.png" style="margin-left:3px"></td>

  </tr>
  <tr>
    <td class="list " style="padding-right:0px"><input type="checkbox" name="id_arr[]" value="1079"></td>
    <td class="list " style="text-align:right">
<select onchange="this.form.act.value = 'order'; this.form.track_id.value = 1079; this.form.track_pos.value = this.value; alert(this.value); this.form.submit()"><option >1</option><option selected>2</option><option >3</option><option >4</option><option >5</option></select>    </td>
    <td class="list "><span class="marked">30hz feat. Yolanda</span><br>Daddio (Miles Dyson remix)</td>

    <td class="list ">Electro house</td>
    <td class="list " style="text-align:right">127</td>
    <td class="list " style="text-align:right; white-space:nowrap">-00:47</td>
    <td class="list ">LOT49</td>
    <td class="list " style="text-align:right; white-space:nowrap">2007-11</td>
    <td class="list " style="text-align:right; white-space:nowrap"><img class="none" src="gfx/obj.rating1.png" style="margin-left:3px"><img class="none" src="gfx/obj.rating1.png" style="margin-left:3px"><img class="none" src="gfx/obj.rating1.png" style="margin-left:3px"><img class="none" src="gfx/obj.rating1.png" style="margin-left:3px"><img class="none" src="gfx/obj.rating1.png" style="margin-left:3px"></td>

  </tr>
  <tr>
    <td class="list list_sec" style="padding-right:0px"><input type="checkbox" name="id_arr[]" value="1223"></td>
    <td class="list list_sec" style="text-align:right">
<select onchange="this.form.act.value = 'order'; this.form.track_id.value = 1223; this.form.track_pos.value = this.value; alert(this.value); this.form.submit()"><option >1</option><option >2</option><option selected>3</option><option >4</option><option >5</option></select>    </td>
    <td class="list list_sec"><span class="marked">Abel The Kid & Raul Ortiz</span><br>Kraco</td>

    <td class="list list_sec">Progressive house</td>
    <td class="list list_sec" style="text-align:right">127</td>
    <td class="list list_sec" style="text-align:right; white-space:nowrap">-00:06</td>
    <td class="list list_sec">Set Me Free</td>
    <td class="list list_sec" style="text-align:right; white-space:nowrap">2008-01</td>
    <td class="list list_sec" style="text-align:right; white-space:nowrap"><img class="none" src="gfx/obj.rating1.png" style="margin-left:3px"><img class="none" src="gfx/obj.rating1.png" style="margin-left:3px"><img class="none" src="gfx/obj.rating1.png" style="margin-left:3px"><img class="none" src="gfx/obj.rating1.png" style="margin-left:3px"><img class="none" src="gfx/obj.rating1.png" style="margin-left:3px"></td>

  </tr>
  <tr>
    <td class="list " style="padding-right:0px"><input type="checkbox" name="id_arr[]" value="1373"></td>
    <td class="list " style="text-align:right">
<select onchange="this.form.act.value = 'order'; this.form.track_id.value = 1373; this.form.track_pos.value = this.value; alert(this.value); this.form.submit()"><option >1</option><option >2</option><option >3</option><option selected>4</option><option >5</option></select>    </td>
    <td class="list "><span class="marked">16 Bit Lolitas</span><br>Back to one</td>

    <td class="list ">Progressive house</td>
    <td class="list " style="text-align:right">126</td>
    <td class="list " style="text-align:right; white-space:nowrap">-00:05</td>
    <td class="list ">Hope Recordings</td>
    <td class="list " style="text-align:right; white-space:nowrap">2007-04</td>
    <td class="list " style="text-align:right; white-space:nowrap"><img class="none" src="gfx/obj.rating1.png" style="margin-left:3px"><img class="none" src="gfx/obj.rating1.png" style="margin-left:3px"><img class="none" src="gfx/obj.rating1.png" style="margin-left:3px"><img class="none" src="gfx/obj.rating1.png" style="margin-left:3px"><img class="none" src="gfx/obj.rating1.png" style="margin-left:3px"></td>

  </tr>
  <tr>
    <td class="list list_sec" style="padding-right:0px"><input type="checkbox" name="id_arr[]" value="1417"></td>
    <td class="list list_sec" style="text-align:right">
<select onchange="this.form.act.value = 'order'; this.form.track_id.value = 1417; this.form.track_pos.value = this.value; alert(this.value); this.form.submit()"><option >1</option><option >2</option><option >3</option><option >4</option><option selected>5</option></select>    </td>
    <td class="list list_sec"><span class="marked">Aaron McClelland</span><br>Spirit</td>

    <td class="list list_sec">Progressive house</td>
    <td class="list list_sec" style="text-align:right">130</td>
    <td class="list list_sec" style="text-align:right; white-space:nowrap">-00:55</td>
    <td class="list list_sec">Mena Music</td>
    <td class="list list_sec" style="text-align:right; white-space:nowrap">2006-06</td>
    <td class="list list_sec" style="text-align:right; white-space:nowrap"><img class="none" src="gfx/obj.rating1.png" style="margin-left:3px"><img class="none" src="gfx/obj.rating1.png" style="margin-left:3px"><img class="none" src="gfx/obj.rating1.png" style="margin-left:3px"><img class="none" src="gfx/obj.rating1.png" style="margin-left:3px"><img class="none" src="gfx/obj.rating1.png" style="margin-left:3px"></td>

  </tr>
  <tr>
    <td class="list" style="padding-right:0px"></td>
    <td class="list" colspan="8" style="padding-bottom:40px; text-align:right">
    <input type="button" value="Loose" onclick="this.form.act.value = 'loose'; this.form.submit()">
    <input type="button" value="Edit" onclick="this.form.act.value = 'edit'; this.form.submit()">
    <input type="button" value="Delete" onclick="if(confirm('Delete tracks?')) { this.form.act.value = 'delete'; this.form.submit(); }"></td></td>
  </tr>
</table>

</form>
Avatar billede erikjacobsen Ekspert
06. april 2008 - 18:37 #10
Hvis dine options ikke har en value-attribut er this.value tom. Det kan du jo se i Oles eksempel.
Avatar billede hoppe11 Nybegynder
06. april 2008 - 18:55 #11
ok, men jeg troede ikke det var nødvendigt at sætte den :) altså hvis value var tom tog den bare selve tag'et?
Avatar billede erikjacobsen Ekspert
06. april 2008 - 19:26 #12
Joh, men hvis jeg ikke siger til konen hun skal købe leverpostej, så gør hun det ikke. ;)

Virker det så?
Avatar billede hoppe11 Nybegynder
06. april 2008 - 21:33 #13
godt eksempel! :D

jo, nu virker det

smid et svar ole
Avatar billede olebole Juniormester
06. april 2008 - 21:47 #14
Det er helt korrekt, at value attributten i følge HTML standarderne ikke er nødvendig - men her er der tale om scripting, hvor vi ovenikøbet eksplicit spørger, hvad elementets value er  ;o)
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