webForumDet fria alternativet

Anrop från knappar...

6 svar · 986 visningar · startad av demo

demo
#1

Hej!

Har två olia knappar i ett HTML-formulär.

Båda knapparna är av typ submit. Av "layouttekniska" skäl ligger båda knapparna inom samma "form-action" tagg.

Den ena knappen anropar ett cgi-script.
Skulle vilja att den andra knappen anropar ett annat cgi-script.

Går detta att ordna om båda knapparna ligger inom samma "form-action" tagg?

//Demo

[Redigerat av demo den 17 sep 2000]

sgtpepperMedlem sedan apr. 20005 524 inlägg
#2

Jo, det går, med lite javascript.

<html>
<body>

<script language="JavaScript">
<!--
	function submit1() 
	{
		document.frm.action="runme.cgi";
		document.frm.submit();
	}

	function submit2() 
	{
		document.frm.action="walkme.cgi";
		document.frm.submit();
	}

// -->
</script>

<form name="frm" method="post">
	Ditt namn: <input type="text" name="namn">
	<br>
	<input type="button" onClick="submit1()" value=" kör runme.cgi ">
	<input type="button" onClick="submit2()" value=" kör walkme.cgi ">
</form>
</body>
</html>

När den första knappen trycks så kommer metoden submit1() att köras, och när knapp två trycks så körs alltså submit2().

Du kan lägga till fler knappar med tillhörande submit-metod, se bara till att ändra document.frm.action i submit-metoderna så att de stämmer för dig.

------------------
Murphy's Law of Thermodynamics:
Things get worse under pressure.

demo
#3

Tack broder! ;)

Skall prova detta!

//Demo

sgtpepperMedlem sedan apr. 20005 524 inlägg
#4

demo, jag kom på att min lösning ovan var lite onödig, det räcker självklart med att ha en submit-metod, som tar adressen som ett argument. På så sätt så blir det bara en metod oberoende av hur många submit-knappar du vill ha, kör den här istället:

<html>
<body>

<script language="JavaScript">
<!--
	function doSubmit(action) 
	{
		document.frm.action=action;
		document.frm.submit();
	}
// -->
</script>

<form name="frm" method="post">
	Ditt namn: <input type="text" name="namn">
	<br>
	<input type="button" onClick="doSubmit('runme.cgi')" value=" kör runme.cgi ">
	<input type="button" onClick="doSubmit('walkme.cgi')" value=" kör walkme.cgi ">
</form>
</body>
</html>

------------------
Murphy's Law of Thermodynamics:
Things get worse under pressure.

demo
#5

Tjenix border!

Fick ditt exempel att fungera utmärkt.

Dock en fråga.

Om jag vill att programanropet skall öppnas i en annan frame än den frame där knappen befinner sig, hur gör jag då?

Har idag inte så mycket kunskap i JavaScript. Skall dock inom kort gå en JavaScript kurs på 2 dagar. (Arbetsgivaren batelar :) )
Tror att grundkunskaper inom JavaScript är ett måste i famtiden, om man skall kunna hävda sig som utveklare.

//Demo
sep 2000]

[Redigerat av demo den 17 sep 2000]

sgtpepperMedlem sedan apr. 20005 524 inlägg
#6

Hallå demo!

Jo, det är enkelt som en plätt. Låt säga att du har två frames, "main" och "result", där "main" är den del där formuläret visas och "result" är den del där resultatet skall visas. Det enda du behöver göra är att lägga in target="result" i form-taggen.

Så här:

<form name="frm" [b]target="result"[/b] method="post">
Ditt namn: <input type="text" name="namn">
<br>
<input type="button" onClick="submit1()" value=" kör runme.cgi ">
<input type="button" onClick="submit2()" value=" kör walkme.cgi ">
</form>

------------------
Murphy's Law of Thermodynamics:
Things get worse under pressure.

demo
#7

Tack för hjälpen, sgtpepper!

Tack! Det senaste borde jag förstås ha kommit på utan att fråga :r

//Demo

[Redigerat av demo den 18 sep 2000]

Genererad på 391 ms · cache AV · v20260730165559-full.f96bc7eb