Avatar billede mvk Nybegynder
07. oktober 2004 - 13:02 Der er 8 kommentarer og
2 løsninger

2 submitknapper i en form med forskellige actions

jeg har 2 knapper i min form - den ene skal submitte formen den anden skal åbne et nyt vindue hvor indholdet af formen vises (så man kan se layout inden den sendes) hvordan kan jeg gøre det ?

send knappen virker - men den anden virker ikke.
Avatar billede cpufan Juniormester
07. oktober 2004 - 14:10 #1
<form><method="post" action="sammeside.asp">
<input type="submit" name="knap1" value="trykket">
<input type="submit" name="knap2" value="trykket">
</form>
toppen af sammeside.asp:
<%if (request("knap1") = "trykket")then %>
gør det den skal
<%end if%>
<%if (request("knap2") = "trykket")then %>
gør det den skal
<%end if%>
Avatar billede thomashove Nybegynder
07. oktober 2004 - 14:42 #2
<form action="side1.asp" method="post" name="MyForm" target="_self">
<input type="submit" name="knap1" value="godkend" onclick="document.MyForm.action='side1.asp';document.MyForm.target='_self';">
<input type="submit" name="knap2" value="valider" onclick="document.MyForm.action='side2.asp';document.MyForm.target='_blank';">
</form>
Avatar billede dr-data Nybegynder
08. oktober 2004 - 09:02 #3
Du skal bruge noget javascript i stil med.

<input type="submit" name="knap1">
<input type="button" name="knap2" OnClick="this.form.target='_new'; submit();">

eller

<input type="submit" name="knap1">
<input type="button" name="knap2" OnClick="nyfunktionwindowsopen('navn','andet'); this.form.target='navnpaajswindow'; submit();">
Avatar billede mvk Nybegynder
08. oktober 2004 - 09:17 #4
min kode ser nu sådan ud:
                          <tr>
                            <td width="200"><input name="Submit2" class="buttons" style="cursor:pointer" onClick="MM_openBrWindow('se_udkast.asp','','scrollbars=yes,resizable=yes,width=700,height=500')" value="Se udkast"></td>
                            <td>&nbsp;</td>
                            <td width="200" align="right">
                              <input type="hidden" name="MM_insert" value="form1">
                              <input name="dato" type="hidden" class="fields" id="dato" value="<%=Date()%>">
                              <input name="Submit" style="cursor:pointer" onMouseOver="return overlib('Når du klikker her sendes nyhedsbrevet til alle modtagerne');" onMouseOut="return nd();" type="submit" class="buttons" value="Send nyhedsbrev">                            </td>
                          </tr>

med dette javasciript i toppen:
function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}

men jeg kan ikke få den til at vise indholdet af min form på den anden side - har prøvet med:
<%=Request.Form("tekst")%> men den viser ikke noget
Avatar billede thomashove Nybegynder
08. oktober 2004 - 10:02 #5
har fjernet dine table tags.... flg virker:

<script language="JavaScript">
 
function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
  document.MyForm.submit();
}

</script>

<form action="side1.asp" name="MyForm" method="post">

<input name="Submit2" class="buttons" style="cursor:pointer" onClick="this.form.action='se_udkast.asp'; this.form.target='myWin'; MM_openBrWindow('','myWin','scrollbars=yes,resizable=yes,width=700,height=500');"  value="Se udkast">
<input type="hidden" name="MM_insert" value="form1">
<input name="dato" type="hidden" class="fields" id="dato" value="<%=Date()%>">
<input name="Submit" style="cursor:pointer" type="submit" class="buttons" value="Send nyhedsbrev" onclick="this.form.action='side1.asp'; this.form.target='_self';"> 

</form>
Avatar billede mvk Nybegynder
08. oktober 2004 - 10:11 #6
min form har denne action:
<form ACTION="<%=MM_editAction%>" METHOD="POST" name="form1">

det er ret vigtigt at den kan beholde den fordi den kalder en InsertRecord - kan det lade sig gøre ?
Avatar billede thomashove Nybegynder
08. oktober 2004 - 10:22 #7
form.action : fortæller formen hvilken adresse indholdet skal sendes til.
form.target : fortæller hvilket vindue der skal sendes til

så du kan godt beholde din action - men så skal du i din <%=MM_editAction%> tage højde for om siden vises som pop-up vindue (udkastet) eller som normalt. A´la det cpufan i starten er inde på...
Avatar billede mvk Nybegynder
08. oktober 2004 - 10:46 #8
kan man ikke lave en If Then Else på den der Form Action

<form ACTION="
<%If button.Submit2 Then%>
se_udkast.asp
<%Else%>
<%=MM_editAction%>
<%End if%>
" METHOD="POST" name="form1">
Avatar billede thomashove Nybegynder
08. oktober 2004 - 10:51 #9
hvis du nu i mit sidste forslag udskifter side1.asp med <%=MM_editAction%>
Avatar billede mvk Nybegynder
13. oktober 2004 - 15:29 #10
lavede det med en form der ikke har nogen action:
<%
if request("seudkast") = "Se udkast" then   
%>
<form name="frm" method="post" action="se_udkast.asp">
<textarea name="tekst"><%=Request.Form("tekst")%></textarea>
</form>
<script language="javascript">
document.frm.submit();
</script>
<%
end if 

if request("sendnyhedsbrev") = "Send nyhedsbrev" then 



...
Jeg skønner at det mest er Cpufans ide jeg har brugt så derfor sender jeg ham 40 point og thomas 20 point for det hårde arbejde :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester