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.. =)
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.
<%
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>
<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>
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?
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....
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).