[Javascript]Funktion von andere Frame zugreifen

05/13/2014 14:35 EqoTime#1
#gelöst :)
05/13/2014 15:42 Ravenstorm#2
Vielleicht solltest du auch nach den Values suchen:

eingabe.html

PHP Code:
<head>
<
script language="javascript">
    function 
pruefe(f)
    {
        
alert(document.getElementById(f).value);

    }
</script>
</head>
<form id="aufgaben">
Aufgabe 06: Was ergibt ( 2 + 1 ) * 3 ?
<select id="Aufgabe1">
    <option value=3>3
    <option value=6>6
    <option value=9>9
    <option value=12>12
</select>
Aufgabe 07: Was ergibt ( 3 + 7 ) : ( 1 + 1 ) ?
<select id="Aufgabe2">
    <option value=5>5
    <option value=10>10
    <option value=15>15
    <option value=20>20
</select>
</form> 
ausgabe.html

PHP Code:
<head>
<
script language="javascript">
    function 
Aufrufen()
    {
         
window.parent.frames[0].pruefe('Aufgabe1');
    }
</script>
</head>
<form name="Formular2">
    <input type="button" value="OK" onclick="Aufrufen()">
</form> 
05/13/2014 15:44 eromer#3
Hey,


die Funktion funktioniert ohne Fehler, wenn du sie im gleichen Frame aufrufst?
Bei mir Funktioniert alles, bis auf das überprüfen der Values.

Das Skript ruft die Funktion pruefe auf mit dem Wert "aufgabe". Dieser Wert ist ein String!
PHP Code:
<script language="javascript"
    function 
Aufrufen() 
    { 
         
window.parent.frames[0].pruefe('aufgaben'); 
    } 
</script> 
Hier kommt der Wert an (String "aufgabe"), wo du versucht den Wert Aufgabe1.value zu bekommen. Das Funktioniert so nicht, du musst natürlich dir das Element holen. So sollte es Funktionieren
PHP Code:
<script language="javascript"
    function 
pruefe(f
    { 
        
document.getElementsByName(f)[0];
        if(
f.Aufgabe1.value == 9alert("richtig!"); 
        else 
alert("falsch!"); 
        if(
f.Aufgabe2.value == 5alert("richtig!"); 
        else 
alert("falsch!"); 
    } 
</script> 
05/13/2014 15:46 EqoTime#4
Quote:
Originally Posted by Ravenstorm View Post
Vielleicht solltest du auch nach den Values suchen:

eingabe.html

PHP Code:
<head>
<
script language="javascript">
    function 
pruefe(f)
    {
        
alert(document.getElementById(f).value);

    }
</script>
</head>
<form id="aufgaben">
Aufgabe 06: Was ergibt ( 2 + 1 ) * 3 ?
<select id="Aufgabe1">
    <option value=3>3
    <option value=6>6
    <option value=9>9
    <option value=12>12
</select>
Aufgabe 07: Was ergibt ( 3 + 7 ) : ( 1 + 1 ) ?
<select id="Aufgabe2">
    <option value=5>5
    <option value=10>10
    <option value=15>15
    <option value=20>20
</select>
</form> 
ausgabe.html

PHP Code:
<head>
<
script language="javascript">
    function 
Aufrufen()
    {
         
window.parent.frames[0].pruefe('Aufgabe1');
    }
</script>
</head>
<form name="Formular2">
    <input type="button" value="OK" onclick="Aufrufen()">
</form> 
ich will ja die komplette aufgabe damit lösen und nicht die 1. aufgabe nur.
MfG

Quote:
Originally Posted by eromer View Post
Hey,


die Funktion funktioniert ohne Fehler, wenn du sie im gleichen Frame aufrufst?
Bei mir Funktioniert alles, bis auf das überprüfen der Values.

Das Skript ruft die Funktion pruefe auf mit dem Wert "aufgabe". Dieser Wert ist ein String!
PHP Code:
<script language="javascript"
    function 
Aufrufen() 
    { 
         
window.parent.frames[0].pruefe('aufgaben'); 
    } 
</script> 
Hier kommt der Wert an (String "aufgabe"), wo du versucht den Wert Aufgabe1.value zu bekommen. Das Funktioniert so nicht, du musst natürlich dir das Element holen. So sollte es Funktionieren
PHP Code:
<script language="javascript"
    function 
pruefe(f
    { 
        
document.getElementsByName(f)[0];
        if(
f.Aufgabe1.value == 9alert("richtig!"); 
        else 
alert("falsch!"); 
        if(
f.Aufgabe2.value == 5alert("richtig!"); 
        else 
alert("falsch!"); 
    } 
</script> 
Danke hat geklappt :)
05/13/2014 15:51 Ravenstorm#5
Das von mir war ja auch nur ein Beispiel was zu tun ist und es hat dich ja auch auf den richtigen Weg hingewiesen.
05/13/2014 17:43 Mikesch01#6
Quote:
Originally Posted by EqoTime View Post
#gelöst :)
Bitte lösche NIE den kompletten Beitrag, auch wenn es gelöst sein soll. Schreib einfach darunter oder darüber, dass es nun gelöst wurde.

Sollte jemand mal in 2-3 Jahren vorbei schauen, versteht er hier erstmal nicht, worum es wirklich ging und das Problem wurde eigentlich mehr oder minder gelöscht.
05/13/2014 17:48 EqoTime#7
Quote:
Originally Posted by Mikesch01 View Post
Bitte lösche NIE den kompletten Beitrag, auch wenn es gelöst sein soll. Schreib einfach darunter oder darüber, dass es nun gelöst wurde.

Sollte jemand mal in 2-3 Jahren vorbei schauen, versteht er hier erstmal nicht, worum es wirklich ging und das Problem wurde eigentlich mehr oder minder gelöscht.
jo sry werde das nächste mal drauf achten. :)