MeleaMedlem sedan juli 20033 147 inlägg Hejsan!
Tänkte bara kolla om det går att ändra namnet på en input genom att jag väljer
bland två alternativ i en select. Om jag väljer "news" så ska namnet på inputen
bytas till "Srubrik" och om jag väljer "members" i selecten så ska namnet på inputen bytas till "Susername".
Tack på förhand
dectgapMedlem sedan sep. 20021 655 inlägg <select onchange="document.getElementById('foo').name=this.options[this.selectedIndex].value">
<option value="Srubrik">News</option>
<option value="Susername">Members</option>
</select>
<input type="text" name="Srubrik" id="foo" />
MeleaMedlem sedan juli 20033 147 inlägg Hm, problemet är att jag måste ha "news" och "members" som value på selecten.
Vill ändå "binda" Srubrik till inputen när jag markerat "News" och vice versa.
dectgapMedlem sedan sep. 20021 655 inlägg <script type="text/javascript">
var namesArr = ["Srubrik", "Susername"];
</script>
...
<select onchange="document.getElementById('foo').name=namesArr[this.selectedIndex]">
<option value="Srubrik">News</option>
<option value="Susername">Members</option>
</select>
<input type="text" name="Srubrik" id="foo" />
MeleaMedlem sedan juli 20033 147 inlägg Har förklarat förskräckligt dåligt, ursäkta mig.
Jag har ett snabbsök formulär, där man kan söka på nyheter och medlemmar. Tabellerna i databasen för detta heter nyheter och members (inte jag som döpt dom :) )
Sedan har jag, på varje sökfält döpt formulären till Srubrik, Susername osv.. Med ett S som prefix för att det ska bli enklare i PHP koden.
Så här kör jag nu:
<select name="table" style="width:170px;">
<option value="nyheter">News</option>
<option value="members">Members</option>
</select>
<input type="text" name="[b]Srubrik[/b]" style="width:170px;">
Det jag vill göra är alltså, att ha kvar value="nyheter" och value="members" eftersom det avgör vilken tabell sökformuläret ska söka i, i databasen.
Fast jag vill samtidigt som man väljer News(nyheter) att inputfältets name="" ska bytas till Srubrik och när man väljer Members(members) ska inputfältets name="" bytas till Susername.
Peter SMedlem sedan dec. 20025 483 inlägg Fortsätter på dectgaps exempel:
<script type="text/javascript">
var namesArr = ["Srubrik", "Susername"];
</script>
<select name="table" style="width:170px;" onchange="document.getElementById('search').name=namesArr[this.selectedIndex]">
<option value="nyheter">News</option>
<option value="members">Members</option>
</select>
<input id="search" type="text" name="Srubrik" style="width:170px;">
:)
MeleaMedlem sedan juli 20033 147 inlägg Namnet på input:en ändras fortfarande inte, tyvärr.
Peter SMedlem sedan dec. 20025 483 inlägg Har du lagt till id="search" på inputfältet? Finns något annat element med id="search" eller name="search" som kan orsaka tvetydighet?
:)
MeleaMedlem sedan juli 20033 147 inlägg Tack! :)
En sak till bara, säkerligen mkt enkelt.
Om jag har en input som är hidden
<input type="hidden" name="i" value="news">
Nu vill jag byta ut "news" mot "members" när jag markerar Members i selecten. Och vice versa.
Går det? :)
Peter SMedlem sedan dec. 20025 483 inlägg :)
var namesArr = ["Srubrik", "Susername"];
function f(obj) {
document.getElementById('search').name=namesArr[obj.selectedIndex];
obj.form.elements["i"].value = obj.options[obj.selectedIndex].value;
}
</script>
<select name="table" style="width:170px;" onchange="f(this)">
...
MeleaMedlem sedan juli 20033 147 inlägg Kan som sagt ingenting om Javascript och aldrig orkat ta tag i det, men... i selecten, skriver jag såhär då?
onchange="document.getElementById('search').name=namesArr[this.selectedIndex]; f(this);"
Eller hur får jag in båda två?
Peter SMedlem sedan dec. 20025 483 inlägg Som jag skrev ovan:
<select name="table" style="width:170px;" onchange="f(this)">
:)
MeleaMedlem sedan juli 20033 147 inlägg Objektet stöder inte egenskapen eller metoden.
Får jag som felmeddelande. Det är på <select name="table" sty... raden.
Tack så hemskt mkt för att du tar dig tid annars Peter :)
Peter SMedlem sedan dec. 20025 483 inlägg Det är klart att man skall hjälpa till :bire
Om jag bifogar all kod då. Bara att klippa och klistra:
<script type="text/javascript">
var namesArr = ["Srubrik", "Susername"];
function f(obj) {
document.getElementById('search').name=namesArr[obj.selectedIndex];
obj.form.elements["i"].value = obj.options[obj.selectedIndex].value;
}
</script>
<form>
<select name="table" style="width:170px;" onchange="f(this)">
<option value="nyheter">News</option>
<option value="members">Members</option>
</select>
<input type="hidden" name="i" value="news">
<input id="search" type="text" name="Srubrik" style="width:170px;">
</form>
:)
MeleaMedlem sedan juli 20033 147 inlägg Får fortfarande samma fel... hade visst klippt och klistrat korrekt ;)
Peter SMedlem sedan dec. 20025 483 inlägg Om du ändrar funktionen f() till följande då?
function f(obj) {
document.getElementById('search').name=namesArr[obj.selectedIndex];
obj.form.elements["i"].value = obj.options[obj.selectedIndex].value;
}
:)
MeleaMedlem sedan juli 20033 147 inlägg Har faktiskt redan prövat den varianten :)
Gav samma resultat dessvärre.
Peter SMedlem sedan dec. 20025 483 inlägg Hm, vad kan det vara då? Kan du posta ett onlineexempel med den kod som ej fungerar?
:)
MeleaMedlem sedan juli 20033 147 inlägg Sådär! Har felsökt o härjat runt i koden.
Hade visst en funktion som hette f redan.
Tack så mkt Peter! :)