4 svar
127 visningar
nutella143 är nöjd med hjälpen
nutella143 80
Postad: 29 maj 2018

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 685 – Lärare
Postad: 29 maj 2018 Redigerad: 29 maj 2018

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 80
Postad: 30 maj 2018

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 685 – Lärare
Postad: 30 maj 2018

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 80
Postad: 30 maj 2018

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 Avbryt
Close