Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: Valittu teksti

Macro [18.09.2009 20:50:54]

#

Terve

Pitäisi saada textareasta teksti joka on valittu, ja laittaa se diviin output.

<script language="javascript">
function valittu() {
	txt = '';

    if (window.getSelection) {
        txt = window.getSelection();
    } else if (document.getSelection) {
        txt = document.getSelection();
    } else if (document.selection) {
        txt = document.selection.createRange().text;
    }
    else return;

	document.formi.teksti.value = txt;
}
</script>
<input type="button" value="Valittu" onmousedown="valittu()">
<div id="teksti"></div><br>

<form name="formi"><textarea name="teksti" rows="5" cols="20"></textarea></form>

Tämä toimii muuten, mutta en saa muokattua niin, että asettaisi tuon toiseen elementtiin.

<script language="javascript">
function valittu() {
	txt = '';

    if (window.getSelection) {
        txt = window.getSelection();
    } else if (document.getSelection) {
        txt = document.getSelection();
    } else if (document.selection) {
        txt = document.selection.createRange().text;
    }
    else return;

	minne = document.getElementById("teksti");
	minne.value = txt;
}
</script>
<input type="button" value="Valittu" onmousedown="valittu()">
<div id="teksti"></div><br>

<form name="formi"><textarea name="tekst" rows="5" cols="20"></textarea></form>

Tämä ei toimi. :/

Metabolix [20.09.2009 18:01:48]

#

Vain formien kentillä on value-ominaisuus.

Jos haluat tulkita tekstin HTML:nä, voit käyttää innerHTML-ominaisuutta (minne.innerHTML = txt). Jos haluat sen tavallisena tekstinä, voit käyttää tällaista funktiota:

function laita_sisalto(elementti, teksti) {
  // Poistetaan vanha sisältö:
  while (elementti.lastChild) {
    elementti.removeChild(elementti.lastChild);
  }
  // Lisätään teksti:
  teksti = document.createTextNode(teksti);
  elementti.appendChild(teksti);
}

// Funktion käyttö koodissasi:
laita_sisalto(minne, txt);

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta