webForumDet fria alternativet
Logga in / Bli medlem

Värde till formulär

JavaScript

12 svar · 216 visningar · startad av Probyte

Medlem sedan maj 200159 inlägg
Frågan#1

Hallå,

Jag håller på med en sida där jag listar ett utbud av olika utbildningar. Nu vill jag att användaren av sidan ska kunna klicka på en länk och få upp ett formulär där viss information blir färdigifylld beroende på vilken utbildning han klickar på. Dvs. t ex utbildningens namn ska följa med...

Jag undrar helt enkelt om det är möjligt att kunna "länka med" information beroende på vilken länk man klickar på, så man slipper göra 200 olika formulär.. =)

Medlem sedan maj 200010 687 inlägg
#2

Smidigast är väl att använda något serverside-språk som t.ex. ASP eller PHP. Men kan du inte använda dig av det så går det att använda JavaScript.
Säg hur du vill göra så kan du nog få hjälp. :)

Medlem sedan dec. 20002 526 inlägg
#3

exempel... med asp:

(sidan där typ länken ligger på)

<%
Set Databas = Server.CreateObject("ADODB.Connection")
Set rsLank = Server.Createobject("ADODB.Recordset")
MdbFilePath="dindatabas.mdb"
Databas.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ= " & MdbFilePath & ";"
SQL = "SELECT * FROM tabell"
%>

<%
'Nu förutsätter jag att du har en db med olika alternativ, typ Bilar i ett fält i din tabell
Response.Write "<a href=""dinsidamedformulär.asp?vad=" & rsLank("Bilar") & """>Klicka här om du vill ha bilar i fältet</a>"
%>

sidan som formulär:

<%
'Formulärsidan
Set Databas = Server.CreateObject("ADODB.Connection")
Set rsLank = Server.Createobject("ADODB.Recordset")
MdbFilePath="dindatabas.mdb"
Databas.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ= " & MdbFilePath & ";"

SQL = "SELECT * FROM tabellen"
%>

Ett forumlär:

<form name="lankar" method="post" action="om du ska till en annan sida.asp">
<input type="text" name="valt" value="<%=request.querystring("vad")%>">
</form>
Medlem sedan maj 200159 inlägg
#4

Tack för hjälpen, men jag kan tyvärr inte köra varken asp eller php på servern sajten ligger på.

Därför skulle förslaget Erik hade med javascript vara det enda gångbara... hur löser jag det med javascript?

Medlem sedan maj 200010 687 inlägg
#5

En lösning på problemet:

<script type="text/javascript">
<!--
/* Detta script finns att hämta på [url="http://www.jojoxx.net"]http://www.jojoxx.net[/url]  och
   får användas fritt så länge som dessa rader står kvar. */

function getVar(varname) {
	var st = unescape(location.search);
	st = st.replace(/\+/g," ");
	if (st.indexOf(varname) != -1){
		var tempst = st.substring(st.indexOf(varname + "=") + varname.length + 1,st.length);
		if (tempst.indexOf("&") != -1) {
			var newtemp = tempst.substring(0, tempst.indexOf("&"));
			return newtemp;
		} else {
			return tempst;
		}
	} else {
		return("");
	}
}
document.frm.txtruta.value = getVar("varde");
//-->
</script>

<from name="frm">
<input type="text" name="txtruta">
</form>

Då kan du skriva länken så här:

<a href="sida.html?varde=Din%20text">Länk</a>
Medlem sedan maj 200159 inlägg
#6

Tack... får det iofs inte att funka men ska testa lite vidare. Är det nåt speciellt man ska tänka på? ock kan man länka med flera variabler till flera fält?

Medlem sedan maj 200159 inlägg
#7

Erik: Att använda jojoxx javascript funkar prima om man vill infoga det medskickade som vanlig text men jag får det inte att funka när jag försöker få det medskickade att ligga i ett textfält i ett formulär som var meningen....

Medlem sedan maj 200010 687 inlägg
#8

Är du säker? Testa att använda ett formulär där du skickar infot med get så får du fram hur texten ska skrivas. :)

Medlem sedan maj 200159 inlägg
#9

Allt funkar som sagt var prima men det är i följande nåt är fel tror jag:

document.frm.txtruta.value = getVar("varde");

Anropet lyckas inte lägga in den medskickade texten i textfältet. Men om jag använder:

<script type="text/javascript">
document.write(getVar("varde") + " " + getVar("varde") + "<br>");
</script>

...så funkar det prima.

Medlem sedan maj 200010 687 inlägg
#10

Oj, jag råkade skriva <from> istället för <form>. Ändra det så borde det funka. :)

Medlem sedan maj 200159 inlägg
#11

Hmm.. ne inte det som det beror på. Felet ligger alltså inte i formuläret utan i att det som stå i formuläret inte kommer dit....

Medlem sedan juni 20008 205 inlägg
#12

Koden som fifflar med formulärelementen måste köras efter att formuläret laddats in. Antingen får kodblocket ligga efter formuläret i filen, eller så får det ligga i en funktion som körs efter att sidan laddats in (window.onload).

Medlem sedan maj 200159 inlägg
#13

Spango... du har ju så rätt. Så rätt !! Kanon.. tack båda två. Nu funkar det fin fint som jag vill.

258 ms totalt · 4 externa anrop · v20260731065814-full.05830320
124 ms — deklarationer (db)
0 ms — hämta statistik (cache)
131 ms — hämta tråd, inlägg och bilagor (db)
120 ms — ändringar (db)