Jag har ett frågeformulär på en sida ( FRÅGA.HTM ) Det beror lite på hur du har öppnat det andra fönstret (där testfunktionen skall finnas), har du ett handle till fönstret så kan du alltid anropa funktioner via det.Anropa Checkform
Svaren kan sedan kollas på samma sida med följande
<INPUT onclick=checkform(); type=button value="Du fick...">
Allt detta körs lokalt på en dator och funkar perfekt.
Nu vill jag lägga svars-scriptet (function checkform) på en egen sida (SVAR.HTM), och sedan klicka på en knapp från frågesidan, men hur gör man det ??
Hur anropas scriptet från FRÅGESIDAN?
Koden för SCRIPTET och ANROPET här nedan
<SCRIPT language=JavaScript>
<!--
function checkform(){
var svar = new Array(1,2,3,2,2,1,3,1,3,3,1,2,3,1,2,1,1,2,2,1,2);
var nr_right=0,nr_wrong=0,a;
var names = new Array("a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u");
for (n=0; n<svar.length; n++){
a="" + (svar[n]-1);
if (eval("document.questions." + names[n] + "["+a+"].checked")){ nr_right++ } else { nr_wrong++ }
}
if (nr_right > nr_wrong) {
alert( + nr_right + " poäng.");
} else {
alert( + nr_right + " poäng.");
}
}
//-->
</SCRIPT>
<INPUT onclick=checkform(); type=button value="Du fick...">Sv: Anropa Checkform
Det ursprungliga fönstret har t ex följande kod med formuläret och knappen:
<html>
<head>
<script type="text/javascript">
var win = window.open("test2.htm", "myWindow", "width=200, height=200, resizable, scrollbars");
function Test1()
{
win.Test2();
}
</script>
</head>
<body>
<form name="frm">
<input type="text" name="txt">
<input type="button" value="test" onclick="Test1()">
</form>
</body>
</html>
Det nya fönstret skulle t ex kunna innehålla följande kod, som läser av det första via opener-referensen:
<html>
<head>
<script type="text/javascript">
function Test2()
{
var data = opener.frm.txt.value;
alert("Input: " + data);
}
</script>
</head>
<body>
<h1>Test2</h1>
</body>
</html>