webForumDet fria alternativet

Hantera/Jämmföra variabler?

1 svar · 345 visningar · startad av kungmats

kungmatsMedlem sedan mars 20021 inlägg
#1

Jag skulle vilja få hjälp med att kolla/jämföra variabler som hämtas ur en textfil på dator. Jag har fått hjälp med att göra detta script och fattar inte så mycket själv av javascript.
Det jag behöver kunna göra är att titta efter om ex vis Radio1=2 och i så fall skriva ut en text på sidan, men jag får inte till det.

<html>
	<head>
		<title>		</title>

<SCRIPT LANGUAGE="JavaScript">

// Spara datan till textfil
function SaveData()
{
	var fso = new ActiveXObject("Scripting.FileSystemObject");
	var file = fso.CreateTextFile("C:\\formulardata.txt", true);
	for(i=0;i<arguments.length;i++)
	{
		o=document.getElementsByName(arguments[i]);
		for(j=0;j<o.length;j++)
		{
			if(o[j].checked)
				file.WriteLine(arguments[i]+"="+o[j].value);
		}
	}
	file.Close();
	alert("Formuläret har sparats");
}

// Hämta sparad data från textfil
function LoadData()
{
	var fso = new ActiveXObject("Scripting.FileSystemObject");
	var file = fso.OpenTextFile("C:\\formulardata.txt");
	var data=file.ReadAll().split("\n");
	for(i=0;i<data.length;i++)
	{
		var pair=data[i].split("=");
		if(pair[0])
		{
			var o=document.getElementsByName(pair[0]);
			o[parseInt(pair[1])-1].checked=true;
		}
	}
}

// I min textfil sparas nu exempelvis värdena: Radio1 = 2 ..... Radio2 = 3
// Här kommer mitt bekymmer. Hur gör jag för att kolla om tex Radio1 i detta exempel är lika med 2 och i så fall skriva ut en text el dyl.
if (Radio1=="2") {document.write("Värdet för Radio1 är 2")}; // Men det fungerar inte

  </SCRIPT>

	</head>

<body onload="LoadData();">

<form action="" method="post">
	Fråga 1<br>
	<input type="radio" name="Radio1" value="1"><br>
	<input type="radio" name="Radio1" value="2"><br>
	<input type="radio" name="Radio1" value="3"><br>
	Fråga 2<br>
	<input type="radio" name="Radio2" value="1"><br>
	<input type="radio" name="Radio2" value="2"><br>
	<input type="radio" name="Radio2" value="3"><br>
	<input type="button" value="Spara" onclick="SaveData('Radio1','Radio2');"><br>

</form>

</body>
</html>
Peter SMedlem sedan dec. 20025 483 inlägg
#2
var radios = document.forms[0].elements["Radio1"];
if (!radios.length)
{
  document.write("Värde = " + radios.value);
}
else
{
  for (var i = 0; i < radios.length; ++i)
  {
    if (radios[i].checked)
    {
      document.write("Värde = " + radios[i].value);
      break;
    }
  }
}

Lägg koden innanför LoadData(), eller skapa en separat funktion med ovanstående som du anropar i LoadData().

131 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)