4 svar
208 visningar
nutella143 behöver inte mer hjälp
nutella143 74 – Fd. Medlem
Postad: 29 maj 2018 23:56

fel med slice()

ska skriva ett program där jag kan mata in en text eller ett ord..
utskriften ska vara texten flera gånger men utökad.

ex: skriver in "hejsan" då ska utskriften vara :

h
he
hej
hejs
hejsa
hejsan

 

jag tror att jag gör nått fel i själva slice() men är super osäker :S

<script>

var text = document.getElementById("texten").value;

function printit()
{
for(var i=0; i<text.length; i++)
{
text.slice(0,(i+1))+ " ";
}
document.getElementById("delarna").innerHTML=text;
}

</script>
<body>

<h3>skriv in en text:</h3>
<form id="f1">
<input type="text" id="texten" />
<input type="button" value="utskrift" onClick="printit()">

</form>
<div id="delarna"></div>

Lindehaven 820 – Lärare
Postad: 30 maj 2018 00:38 Redigerad: 30 maj 2018 00:39

Din loop med slice() går igenom texten korrekt vad jag kan se. Dock ligger utmatningen utanför loopen. Prova att flytta den inuti loopen:

for (var i=0; i<text.length; i++)

{

text.slice(0,(i+1))+ " ";

document.getElementById("delarna").innerHTML=text;

}

nutella143 74 – Fd. Medlem
Postad: 30 maj 2018 07:32

testade det men fungerar fortfarande inte..

fick två felmeddelande, ena på:

var text = document.getElementById("texten").value;

så bytte till:

var text = document.getElementById("texten");

men när jag testar programmet får jag fortfarande:

Lindehaven 820 – Lärare
Postad: 30 maj 2018 08:33

Tittade inte efter det felet eftersom du inte skrev något om att du hade ett sånt fel. Åtgärdas genom att flytta variabeldeklarationen av text in i funktionen printit(). Jag döpte om variabeln till inputText. Har lagt till en variabel outputText som byggs upp av varje slice() med en radbrytning efter varje. Funkar.

<script>
function printit()
{
    var inputText = document.getElementById("texten").value;
    var outputText = "";
    for (var i = 0; i < inputText.length; i++)
    {
        outputText += inputText.slice(0,(i+1)) + "<br>";
    }
    document.getElementById("delarna").innerHTML = outputText;
}
</script>

nutella143 74 – Fd. Medlem
Postad: 30 maj 2018 09:13

tack så jätte mycket! ursäkta för felmeddelandet jag kom på det efter mitt första inlägg hehe. 

vi har fått lära oss att deklarera variablar utanför funktionerna så tänkte inte ens den tanken :D

funkar superfint!

Svara
Close