webForumDet fria alternativet

formulär och session

ASPur ASP

10 svar · 290 visningar · startad av MizzK

Medlem sedan juni 2003410 inlägg
Frågan#1

har ett kontaktformulär där man skall fylla i olika "vanliga" uppgifter och sedan skall man välja vilket typ av ärende det är i en dropdown meny. Min fråga är nu hur jag gör för att värdena som precis fylldes i stannar kvar när man valt vilken typ av ärende det är.. sidam uppdateras nämligen när man väljer i dropdownen..

jag har hört ngt om att man skall använda sig av sessioner men inte hittat ngn lösning i mitt sökande.

sedan har jag ytterligare en fråga, hur gör man så att vissa fält är obligatoriska att fylla i, och om man inte fylller i dem så återgår man till ifyllnings sidan.

förstår ni vad jag menar, ngn som kan förklara?

Medlem sedan juni 200032 969 inlägg
#2

har ett kontaktformulär där man skall fylla i olika "vanliga" uppgifter och sedan skall man välja vilket typ av ärende det är i en dropdown meny. Min fråga är nu hur jag gör för att värdena som precis fylldes i stannar kvar när man valt vilken typ av ärende det är.. sidam uppdateras nämligen när man väljer i dropdownen..

Vad menar du med 'uppdateras'? Jag utgår ifrån att du menar att formuläret postas. I så fall behöver du inte använda dig av sessioner, det räcker bra att använda request.form (eller .querystring om du använder metoden get i ditt formulär).

<input type="text" name="woo" value="<%=Request.Form("woo")%>">
Medlem sedan juni 2003410 inlägg
#3

när val i dropdown menyn görs så uppdateras formuläret och all ifylld information försvinner.. det vill jag att den inte gör dvs, försvinner... antar att det är session man skall använda då eller?

Medlem sedan juni 200032 969 inlägg
#4

Läs då mitt ovanstående svar igen.

Medlem sedan juni 2003410 inlägg
#5

det ska inte postas då!! utan senare..

Medlem sedan juni 200032 969 inlägg
#6

Vad menar du med uppdateras då?
Vad händer?

Kod?

Medlem sedan juni 2003410 inlägg
#7

hela formuläret

<script language="JavaScript" type="text/JavaScript">
<!--
function MM_jumpMenu(targ,selObj,restore){ //v3.0
  eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
  if (restore) selObj.selectedIndex=0;
}
//-->
</script>
<form name="form3" method="post" action="">

  <table width="500" border="0" cellspacing="0" cellpadding="0">
    <tr>
      <td width="238">Namn:</td>
      <td width="262">F&ouml;retag:</td>
    </tr>
    <tr>
      <td>
        <input name="namn" type="text" id="namn">
      </td>
      <td>
        <input name="foretag" type="text" id="foretag">
      </td>
    </tr>
    <tr>
      <td height="20" valign="bottom">Adress:</td>
      <td>&nbsp;</td>
    </tr>
    <tr>
      <td colspan="4">
        <textarea name="adress" rows="4" id="adress"></textarea>
      </td>
    </tr>
    <tr>
      <td height="35" valign="middle">Kontaktas helst via:<br>
      </td>
      <td>&nbsp;</td>
    </tr>
    <tr>
      <td colspan="2"><table width="310" border="0" cellspacing="0" cellpadding="0">
          <tr>
            <td>
              <input name="ctele" type="checkbox" id="ctele" value="checkbox">
            Telefon </td>
            <td>
              <input name="cepost" type="checkbox" id="cepost" value="checkbox">
            E-post </td>
            <td>
              <input name="cfax" type="checkbox" id="cfax" value="checkbox">
            Fax </td>
          </tr>
      </table></td>
    </tr>
    <tr>
      <td width="238" height="30" valign="bottom">Telefonnummer:</td>
      <td width="262" valign="bottom">Mobilnummer:</td>
    </tr>
    <tr>
      <td width="238">
        <input name="tele" type="text" id="tele">
      </td>
      <td width="262">
        <input name="mobil" type="text" id="mobil">
      </td>
    </tr>
    <tr>
      <td width="238">&nbsp;</td>
      <td width="262">&nbsp;</td>
    </tr>
    <tr>
      <td width="238">E-postadress:</td>
      <td width="262">Fax:</td>
    </tr>
    <tr>
      <td width="238">
        <input name="e-post" type="text" id="e-post">
      </td>
      <td width="262">&nbsp;
      </td>
    </tr>
    <tr>
      <td width="238">&nbsp;</td>
      <td width="262"><input name="fax" type="text" id="fax"></td>
    </tr>
    <tr>
      <td width="238">Kontaktas g&auml;llande:</td>
      <td width="262">&nbsp;</td>
    </tr>
    <tr>
      <td colspan="2"><select name="menu1" onChange="MM_jumpMenu('parent',this,0)">
        <option selected>- - V&auml;lj &auml;rende - -</option>
        <option value="kontakt.asp?part=1">Service/reparation av befintlig produkt</option>
        <option value="kontakt.asp?part=2">Produktinformation</option>
        <option value="kontakt.asp?part=3">Meddelande</option>
      </select></td>
    </tr>
    <tr>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
    </tr>
    <tr>
      <td colspan="2"><%If Request.QueryString("part") = "" Or Request.QueryString("part") = "0" Then%>
    <%ElseIf Request.QueryString("part") = "1" Then%>
    	<!--#include file="serv.htm"-->
	<%ElseIf Request.QueryString("part") = "2" Then%>
   		<!--#include file="prod.htm"-->
    <%ElseIf Request.QueryString("part") = "3" Then%>
    	<!--#include file="medd.htm"-->
    <%End If%></td>
    </tr>
    <tr>
      <td colspan="2">&nbsp;</td>
    </tr>
    <tr>
      <td colspan="2"><table width="455" border="0" cellspacing="0" cellpadding="0">
        <tr>
          <td width="418">
            <div align="right">
              <input type="reset" name="Submit2" value="Rensa">
          </div></td>
          <td width="82">
            <div align="center">
              <input type="submit" name="Submit" value="Skicka">
          </div></td>
        </tr>
      </table></td>
    </tr>
    
  </table>
</form>
Medlem sedan juni 2003410 inlägg
#8

gjorde lite med sessioner men nu får jag felmeddelande

Feltyp:
Körningsfel i Microsoft VBScript (0x800A0009)
Felaktigt matrisindex: '[number: 3]'
/ny/grund/formular/form.asp, line 19
<%
IF Len(Session("kontakta_mig")) <> 0 then
	If Len(Session("falt")) <> 0 then
		uppg = Split(Session("falt"),"$|$")
		namn = uppg(0)
		foretag = uppg(1)
		adress = uppg(2)
		ctele = uppg(3)                    <--- rad 19
		cepost = uppg(4)
		cfax = uppg(5)
		tele = uppg(6)
		mobil = uppg(7)
		epost = uppg(8)
		fax = uppg(9)
		kgallande = uppg(10)
		Session("falt") = ""
	End If
	felet = Session("kontakta_mig")
	Session("kontakta_mig") = ""
End If
IF len(felet) <> 0 then
%>
	<tr>
      <td colspan="2"><%
Response.Write "<i><font face='verdana' size='1'>" & felet & "</font></i>"
%></td>
    </tr>
	    <%
END IF%>

var är felet`?

Medlem sedan juni 200032 969 inlägg
#9

Hur sätter du session("falt")?

- - - -

I ditt formulär borde du inte ha onChange="MM_jumpMenu('parent',this,0)" på din <select, eftersom du då kastar bort alla värden. Du säger ju bara: När någon väljer något, gå till en annan sida istället. Låt istället onchange posta formuläret, onchange="document.form3.submit();", och där du tar emot värdena kollar du om alla fält är ifyllda för att se om du ska skriva ut formuläret igen med de värden som skickades med, eller om du ska lagra alla värden någon annanstans.

Medlem sedan juni 2003410 inlägg
#10

hur kollar jag det? jag vill ju att det skall komma fram fler alternativ som sedan skall postan.. vill inte posta det ovanför dropdownen först och det nedanför dropfownen sen.. vill göra allt samtidigt

Medlem sedan juni 200032 969 inlägg
#11
<%
If request.form("Submit") <> "" Then
   ' formuläret skickades genom att någon klickade på knappen
   ' Gör allt det är tänkt att du ska göra med datan
Else
   ' formuläret skickades genom att någon valt något i <select>-menyn
   ' Använd då request.form för att skriva tillbaka alla fältvärden till textfälten
   ' och för att välja rätt val i <select>-menyn
End if
137 ms totalt · 3 externa anrop · v20260731065814-full.55e59744
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
134 ms — hämta tråd, inlägg och bilagor (db)