Jag håller på med en labb för en sommarkurs, och har fastnat lite. Meningen är att jag ska skapa en sida med ett formulär där man matar in vilka uppgifter man vill ha på sitt visitkort. Därefter ska ett javascript analysera uppgifterna i formuläret och skriva ut visitkortet på sidan. Jag använder mig av två olika div-taggar för detta; Inmatning och Resultat. Detta är koden:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/javascript; charset=iso-8859-1" />
<title>Laboration 1</title>
<script type="text/javascript">
function getElementValue()
{
var foretag = getElementById('foretag');
var efternamn = getElementById('efternamn');
var fornamn = getElementById('fornamn');
var titel = getElementById('titel');
var telefon = getElementById('telefon');
var epost = getElementById('epost');
var bgfarg = getElementById('bgfarg');
var textfarg = getElementById('textfarg');
var typsnitt = getElementById('typsnitt');
}
document.getElementById('Inmatning').style.display = 'none';
document.write("<div id=\"Resultat\"");
document.write("<div background-color:" + 'bgfarg' + "\">");
document.write("<font-family:" + 'typsnitt' + "\">");
document.write("<color:" + 'textfarg' + "\">");
document.write("<h1>" + 'foretag' + "</h1>");
document.write('fornamn' + 'efternamn' + "<br />");
document.write('titel' + "<br />");
document.write('telefon' + "<br />");
document.write('epost');
</script>
för att se om det skulle skrivas ut, eller om jag gjort något fel när jag kallade funktionen via knappen märkt Skriv Ut. När jag testade, försvann Inmatning lydigt, och ersattes av en vit sida med texten Hej! - alltså ligger felet någonstans i hur jag skrivit funktionen getElementValue.
Har jag skrivit fel på variablerna? Hittar scriptet inte elementen i formen? Skulle jag ha med .value?
En puff i rätt riktning skulle uppkattas mycket... :)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/javascript; charset=iso-8859-1" />
<title>Laboration 1</title>
<script type="text/javascript">
function getElementValue()
{
var d = document;
var foretag = d.getElementById('foretag');
var efternamn = d.getElementById('efternamn');
var fornamn = d.getElementById('fornamn');
var titeln = d.getElementById('titeln');
var telefon = d.getElementById('telefon');
var epost = d.getElementById('epost');
var bgfarg = d.getElementById('bgfarg');
var textfarg = d.getElementById('textfarg');
var typsnitt = d.getElementById('typsnitt');
var el = d.getElementById('Inmatning');
el.style.display = 'none';
var str = "<div style='background-color:" + bgfarg.value + ";font-family:" + typsnitt.value + ";color:" + textfarg.value + "'>";
str = str + "<h1>" + foretag.value + "</h1>";
str = str + "fornamn " + fornamn.value + "efternamn " + efternamn.value + "<br />";
str = str + "titel " + titeln.value + "<br />";
str = str + "telefon " + telefon.value + "<br />";
str = str + "epost: " + epost.value;
str = str + "</div>";
var result = d.getElementById("Resultat");
result.innerHTML = str;
return false;
}
</script>
<style type="text/css">
<!--
#Inmatning {
position:absolute;
left:50px;
top:50px;
width:300px;
height:320px;
z-index:1;
background-color: #66CCFF;
}
#result {
z-index:2;
}
-->
</style>
</head>
<body>
<div id="Inmatning">
* klippt för att inte posten ska bli så lång *
</div>
<div id="Resultat"></div>
</body>
</html>
Jag har en div med id=Resultat. Jag har var result = d.getElementById('Resultat');. Om det inte räcker, var ska jag placera något element med id=result? Vad för sorts element? Jag trodde att det räckte med att lägga in Resultat i result..?
Ditt senaste inlägg har du en div element med id "Resultat", nu fungera det ju. Det hade du inte tidigare, och med result i mitt förra inlägg så menar jag Resultat.