Hej! du måste hantera det själv, oavsett vilken metod du använder (GET/POST). Dvs, kolla om det finns nåt i GET/POST variablerna, om det finns sätt värdet på fältena till dessa värden.. Hej! Ett Javascript kan inte ta hand om POSTade värden. Då måste du använda GET: ok, det jag trodde. Du vill alltså kolla värdena <b>innan</b> formuläret skickas iväg. Då skall du använda onsubmit: inte riktigt, servern behövde ett värde och jag ville sätta ett startvärde i ett dolt fält innan jag skickade det från klienten till servern. Problemet var att på klientsidan var detta dolda fält alltid tomt så servern fick alltid samma startvärde. Jag fick lösa det med cookies. Tack för hjälpen i alla fall. Menar du något i stil med det här?undvika att fält töms vid submit
Jag har en html-sida som submittar (POST) till sig själv. Måste man använda metoden GET för att kunna läsa av fältvärdena eller kan man undvika att fälten töms?
mvh
/MichaelSv: undvika att fält töms vid submit
Sv:undvika att fält töms vid submit
Följande exempel returnerar alltid tomt värde.
<code>
<SCRIPT Language="JavaScript">
<!--
function load_window() {
alert(myform.T1.value);
return true;
}
-->
</SCRIPT>
</head>
<body onload="return load_window();">
<form name="myform" method="POST" action="testsubmit.htm">
<input type="text" name="T1" size="20">
<input type="submit" value="Skicka" name="B1">
</form>
</body>
</code>
Hur kollar jag värdet?Sv: undvika att fält töms vid submit
<SCRIPT Language="JavaScript">
<!--
function load_window() {
alert(document.location);
return true;
}
-->
</SCRIPT>
</head>
<body onload="return load_window();">
<form name="myform" method="POST" action="testsubmit.htm">
<input type="text" name="T1" size="20">
<input type="submit" value="Skicka" name="B1">
</form>
</body>
Du kan plocka ut de parametrar som skickas till sidan genom att split()a dokumentets URL vid först &-tecken, sedan =-tecken.
Sv:undvika att fält töms vid submit
Till mitt huvudproblem: Serversidan kan ju läsa fälten men när sidan laddas första gången är ju dessa tomma. Jag vill alltså kontrollera fälten på klienten och om dessa är tomma - initiera dem och submitta igen så serversidan får startvärdena. Finns det något annat sätt man kan göra? Kan man kontrollera om sidan laddas för första gången?
mvh
/MichaelSv: undvika att fält töms vid submit
<code>
<SCRIPT Language="JavaScript">
<!--
function load_window() {
if(myform.T1.value == '') {
alert('Värdet är tomt');
return false; // Skicka inte formuläret
}
else {
return true; // Det är okej att skicka formuläret.
}
}
-->
</SCRIPT>
</head>
<body>
<form name="myform" method="POST" action="testsubmit.htm" onload="return load_window();">
<input type="text" name="T1" size="20">
<input type="submit" value="Skicka" name="B1">
</form>
</body>
</code>Sv:undvika att fält töms vid submit
/MichaelSv: undvika att fält töms vid submit
<script type="text/javascript">
function set_value()
{
document.f.t.value = "I have a value";
// alert("Skickar formuläret");
return true;
}
</script>
<form name="f" onsubmit="return set_value()">
<input type="text" name="t">
<input type="submit">
</form>
När man skickar iväg formuläret sätts värdet på fältet innan informationen går iväg, så det nya värdet kommer också med.