webForumDet fria alternativet
Logga in / Bli medlem

Realtidsupdate?

JavaScript

12 svar · 239 visningar · startad av Jesper T

Medlem sedan nov. 20017 144 inlägg
Trådstart#1

Här kommer en liten följdfråga som nu har glidit in i Javscriptvärlden. Går det att trixa så att värdet i "testar" uppdateras när man ändrar i selecten utan att framen laddas om?

<form name="Dygn" methode="post" action="aaa.asp?" target="iFrame">
<select name="Dygn_id" onChange="javascript:submit();">
<option value='1' selected>Alla m&aring;ltider</option>
<option value='2' >Frukost</option>
<option value='3' >Lunch</option>
<option value='4' >Middag</option>
<option value='5' >Mellanm&aring;l</option>
</select>
<input type="hidden" name="Id" value="22">
<input type="hidden" name="Datum" value="2002-11-04"></form>
[red]<script language="javascript">
testar=(this.document.Dygn.Dygn_id.options[document.Dygn.Dygn_id.selectedIndex].value);
</script>

<script>
document.write(testar);
</script>[/red]
Medlem sedan dec. 2000557 inlägg
#2

Vill du bara visa värdet kan du lösa det på detta sätt:

[RED]<form name="Dygn" method="post" action="aaa.asp?" target="iFrame">

    <select name="Dygn_id" onchange="javascript:submit();this.form.testar.value=this.form.Dygn_id.options[this.form.Dygn_id.selectedIndex].value;">
    <option value="1" selected="selected">Alla måltider</option>
    <option value="2">Frukost</option>
    <option value="3">Lunch</option>
    <option value="4">Middag</option>
    <option value="5">Mellanmål</option>
    </select>

    <br /><br />

    <input type="text" name="testar" style="border: solid 0px;" />

    <input type="hidden" name="Id" value="22" />
    <input type="hidden" name="Datum" value="2002-11-04" />

</form>[/RED]
Medlem sedan dec. 2000557 inlägg
#3

Hoppsan, nu blidde det visst XHTML, hoppas det är ok.. :OO :)

Medlem sedan nov. 20017 144 inlägg
#4

Värdet och texten (value,text). Har du något tips?

Medlem sedan dec. 2000557 inlägg
#5

Aha, du vill ha med visningsvärdet mellan <option> och </option> också, rätt?

Medlem sedan nov. 20017 144 inlägg
#6

ja, den ligger ju i :this.document.Dygn.Dygn_id.options[document.Dygn.Dygn_id.selectedIndex].text;

Men jag skulle vilja ha båda, man kanske kan göra någon slags funktion eller så?! Men det kanske är bättre med lager också men då har jag ingen aning hur man gör.

Medlem sedan dec. 2000557 inlägg
#7

Ok, då är det bara att lägga till det i koden.
Hela onchange-snutten skulle då se ut så här:

[RED] onchange="javascript:submit();this.form.testar.value=this.form.Dygn_id.options[this.form.Dygn_id.selectedIndex].value+', '+this.form.Dygn_id.options[this.form.Dygn_id.selectedIndex].text;"[/RED]
Medlem sedan nov. 20017 144 inlägg
#8

Tack! :)
Vad tror du om webläsarkompatibiliteten på detta?

Medlem sedan dec. 2000557 inlägg
#9

Testat det i IE 6.0, Mozilla 1.1 och Opera 6.05.
Allt fungerar som det ska, dock syns textfältet som fångar upp värdet i Opera.. inte så snyggt, men det fungerar. :)

Medlem sedan nov. 20017 144 inlägg
#10

Tack så här blev min version. Det kanske går att slipa på den och lägga allt i någon slags funktion, och smidigast skulle kanske ändå vara lager. Har någon sätt något liknande eller har någon idé så, hojta! :)

<form name="Dygn" method="post" action="aaa.asp?" target="iFrame">

    <select name="Dygn_id" onchange="javascript:submit();this.form.testar.value=this.form.Dygn_id.options[this.form.Dygn_id.selectedIndex].value;this.form.testar2.value=this.form.Dygn_id.options[this.form.Dygn_id.selectedIndex].text;">
    <option value="1" selected="selected">Alla måltider</option>
    <option value="2">Frukost</option>
    <option value="3">Lunch</option>
    <option value="4">Middag</option>
    <option value="5">Mellanmål</option>
    </select>

    <input type="text" name="testar" style="border: solid 0px;" onFocus="this.blur();">
    <input type="text" name="testar2" style="border: solid 0px;" onFocus="this.blur();">
    <input type="hidden" name="Id" value="22">
    <input type="hidden" name="Datum" value="2002-11-04">

</form>
Medlem sedan nov. 20017 144 inlägg
#11

Är det någon som har ett tips hur man kan lösa detta med lager och en function istället?

Medlem sedan juni 20014 421 inlägg
#12

Jesper T skrev:

Är det någon som har ett tips hur man kan lösa detta med lager och en function istället?

1. Vad skall du använda lagren till?
2. Varför behöver du en funktion och vad skall den utföra?

Medlem sedan nov. 20017 144 inlägg
#13

1. Dropplisten ligger på en huvudsida som länkar till en iframe och jag vill "visualisera" vilken sida jag är på, på själva "huvudsidan"(Det syns ju visserligen i dropplisten, men jag vill göra det tydligare).
2. Nja, jag skulle kanske vilja få detta att fungera med lager istället för att uppdatera inputfältet med sidolänken och då kanske man måste använda en javascriptfunktion.

279 ms totalt · 4 externa anrop · v20260731065814-full.51f67c91
132 ms — deklarationer (db)
0 ms — hämta statistik (cache)
143 ms — hämta tråd, inlägg och bilagor (db)
133 ms — ändringar (db)