Avatar billede kristianrnielsen Juniormester
25. november 2016 - 15:38 Der er 1 kommentar

Indhold af clickbox til textarea i parent vindue

Kære Eksperter,

Jeg er ret ny i JavaScript, og har  brug for jeres hjælp.

Jeg har fundet et script, hvor når du klikker på en clickbox, så putter den indholdet ind i en tekstbox - fuldstændig hvad jeg har brug for!

Det eneste er, at clickboxene skal være i en iframe, og så puttes ind i tekstboksen i parent vinduet.

Jeg har prøvet en milliard forskellige udgaver, men det har endnu ikke lykkedes mig.

Scriptet ser ud som følger:

PARENT:
<!DOCTYPE html>
<html>
<meta name="robots" content="noindex">
<head>
<script type="text/javascript">
function updatebox()
{
    var textbox = document.getElementById("list");
    var values = [];

    if(document.getElementById('cb2').checked) {
        values.push("School");
    }

    if(document.getElementById('cb3').checked) {
        values.push("College");
    }

    if(document.getElementById('cb4').checked) {
        values.push("University");
    }
 
    textbox.value = values.join(",");
}
</script>
</head>
<body>

<input id="list" type="text" name="list" />

<iframe src="click.php?page=click" height="500" width="200"></iframe>

</body>
</html>

IFRAME:
<!DOCTYPE html>
<html>
<meta name="robots" content="noindex">
<head>

</head>
<body>
<input id="cb2" type="checkbox" name="vehicle" value="School" onclick="updatebox()" /> School <br />
<input id="cb3" type="checkbox" name="vehicle" value="College" onclick="updatebox()" /> College<br />
<input id="cb4" type="checkbox" name="vehicle" value="University" onclick="updatebox()" /> University<br />

</body>
</html>

Hvis I kunne preje mig ind på hvad jeg gør forkert, ville det blive super værdsat  :)

Hav en fantastisk weekend!

Alle de bedste ønsker,
Kristian
Avatar billede olsensweb.dk Ekspert
25. november 2016 - 17:36 #1
dit js skal ligge i dit iframe, for at være tilgængelig der
at js skulle flyttes havde du hurtigt set hvis du havde anvendt udviklings værktøjet i din browser (F12)

har du prøvet at sætte parent på din document.getElementById("list");
http://stackoverflow.com/questions/935127/how-to-access-parent-iframe-from-javascript


samlet:
parent.html

<!DOCTYPE html>
<html>
<meta name="robots" content="noindex">
<head>

</head>
<body>

<input id="list" type="text" name="list" />

<iframe src="click.html" height="500" width="200"></iframe>

</body>
</html>


click.html

<!DOCTYPE html>
<html>
<meta name="robots" content="noindex">
<script type="text/javascript">
function updatebox()
{
    var textbox = parent.document.getElementById("list");
    var values = [];

    if(document.getElementById('cb2').checked) {
        //values.push("School");
        values.push(document.getElementById('cb2').value);
    }

    if(document.getElementById('cb3').checked) {
        //values.push("College");
        values.push(document.getElementById('cb3').value);
    }

    if(document.getElementById('cb4').checked) {
        // values.push("University");
        values.push(document.getElementById('cb4').value);       
    }   
    textbox.value = values.join(",");
}
</script>
<head>
</head>
<body>
<input id="cb2" type="checkbox" name="vehicle" value="School" onclick="updatebox()" /> School <br />
<input id="cb3" type="checkbox" name="vehicle" value="College" onclick="updatebox()" /> College<br />
<input id="cb4" type="checkbox" name="vehicle" value="University" onclick="updatebox()" /> University<br />
</body>
</html>


nb: jeg har skiftet
values.push("University");
ud med
values.push(document.getElementById('cb4').value);       
da teksten aligevel står i value
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester