Kan jag använda det som en användare kommer att ange i ett formulär (det är alltså inte sparat än!) Vad är det du vill lösa och på vilket sätt funkar det inte? Alltså, jag skall inte "återkomma" till just den här sidan. Min motfråga blir i så fall "varför"? Om sidan du postar till får typ och username1 borde den sidan ju själv kunna konkatenera fram username2 om du har kontroll över den. Annars skulle jag föreslå nån slags javascript på den första sidan (med allt vad det innebär, t.ex. ifall klienten inte tillåter javascript o.s.v.). Bra motfråga! ;-) Tror det blir svårt att få till nåt som inte har nån slags fulhack/javascript i sig på de premisserna.En fråga om Request.Form
som en del av det jag sparar i en variabel?
Exempel:
I ett formulär vill jag att man väljer en Typ (av konto), ex. elev, lärare eller public, via en listruta.
Sen anger jag ett Användarnamn, i fältet "username1".
Därefter skulle jag vilja "spara" en kombination av dessa värden i en variabel "username2".
Snabbt så tycker jag det borde se ut så här
<INPUT type="hidden" value="<%= Request.Form("typ") %><%= Request.Form("username1") %>" name="username2"/>
Men det fungerar inte...
Någon som har en idé?
/ PerSv: En fråga om Request.Form
Jag provade följande
<% if (IsPostBack){%>
<input type="text" value="<%= Request.Form["typ"] %><%= Request.Form["username1"] %>"/>
<% }
%>
<form>
<input type="text" name="typ"/>
<input type="text" name="username1"/>
<input type="submit"/>
</form>
Och det funkade som förväntat.
D.v.s. efter det att sidan postat tillbaka så dyker det upp en till textbox innehållande de två postade variablerna
Sv:En fråga om Request.Form
Utan jag vill vidare till en annan sida och "ta med mig" värdena i Typ, Username1 OCH det sammanslagna värdet Username2 (som är Typ och Username1). Tre värden.
Dessa skall alltså "skickas vidare" till en annan sida.
Kruxet är alltså att skapa det tredje värdet Username2 redan innan jag lämnar sidan... Är du med? ;-)Sv: En fråga om Request.Form
Konceptuellt nåt i stil med:
<% if (IsPostBack)
{%>
Fick följande:
<ul>
<% foreach (var s in Request.Form.AllKeys)
{
Response.Write(string.Format("<li>{0} = {1}</li>", s, Request.Form[s]));
}
%></ul><%
} %>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script type="text/javascript">
$("form").submit(function () {
$("#username2").val($("#typ").val() + $("#username1").val());
return true;
});
</script>
<form>
<input type="text" name="typ" id="typ"/>
<input type="text" name="username1" id="username1"/>
<input type="hidden" name="username2" id="username2"/>
<input type="submit"/>
</form>
Sv:En fråga om Request.Form
Det är för att lösa ett problem åt en kollega.
Han har en inloggningssida till ett system, som vi har köpt.
Sidan är en html-sida. Vet inte om det går att byta den ens till en asp-sida.
Men grejen är alltså att han i ett inloggingsformulär där man anger username och lösenord skulle behöva lägga till ett prefix innan username. Detta prefix tänkte jag att man anger i en listruta, kallad Typ.
Sen när man skickar indatat vidare till "nästa sida" (som vi inte styr över) behöver ju variablerna heta likadant som förut, men med ett tillägg före själva username.
Jag försöker alltså testa med en aspsida om det skulle gå. Helst vill han inte använda Javascript etc på html-sidan...
Blev det lite tydligare då?Sv: En fråga om Request.Form
Men nåt sånt här då kanske?
login.html:
<form action="login.aspx" method="post">
<input type="text" name="typ"/>
<input type="text" name="username"/>
<input type="submit"/>
</form>
login.aspx:
<body onLoad="document.forms[0}.submit()">
<p>Vänta...</p>
<form action="nästasida.php" method="post">
<input type="hidden" name="username2" value="<%=string.Format("{0}{1}", Request.Form["typ"], Request.Form["username"])%>"/>
</form>
</body>
nästasida.php:
(är den "ursprungliga" loginsidan)