Zwei Funktionen -
08-04-2003
, 11:11 AM
Hallo zusammen,
ich habe folgendes Problem, beim ersten Aufruf meine Seite bekomme ich von
PHP Werte, die ich später an JS übergebe, es ist die Zahl der Seiten die ich
mit JS darsetell mit Hilfe von documen.write,
....
<td colspan="3" height="30" valign="top">
<script language=JavaScript>
<!--
var SeitenZahl = "4";
for(var i=1; i<=SeitenZahl; i++){
document.write("<input type='button' id='s_"+i+"' value='"+i+"'
style='width=25;'");
document.write("OnClick=\"seiten_zahl("+i+")\">\n" );
}
//-->
</script>
</td>
....
den grade angeklickten Wert übergebe ich an ein Funktion "seiten_zahl":
....
var punkte_zahl = new Array( "10", "12", "4", "22");
var werte = 0;
function seiten_zahl(seite_nr){
for(var i=1; i<=punkte_zahl.length; i++){
if(i == seite_nr){
wert = punkte_zahl[(i-1)];
}
}
punkte_aufbau(wert);
}
....
in dieser Funktion wird ermittelt, welche "Seite" grade ausgewählt worden
ist, danach wird der entsprechend Wert aus dem Array "punkte_zahl" geholt,
also klickt der User den Punkt zwei wird aus dem Array "punkte_zahl" der
Wert 12 ausgelesen und weite an die nächst Funktion "punkte_aufbau"
übergeben:
....
function punkte_aufbau(wert_punkte){
for(var i=1; i<=wert_punkte; i++){
document.write("<input type='button' id='b_"+i+"' value='"+i+"'
style='width=25;'");
document.write("OnClick=\"farbe("+i+")\">\n");
}
}
....
Die Funktion "punkte_aufbau" soll jedes Mal so oft ablaufen wie hoch ist der
Wert in der Variable "wert_punkte", so weit so gut.
Jetzt noch etwas zu dem Hintergrund, die beiden hier erwähnten Funktionen
stehen vor dem body, im JS Bereich, der obere Tabelleabschnitt steht schon
hinter dem body, beim laden der Seite wird die Funktion "seiten_zahl"
aufgerufen:
....
<BODY OnLoad="seiten_zahl('1');">
....
Jetzt das Problem, beim ersten Aufruf der Seit wird der obere
Tabellenabschnitt mit der Funktion "seiten_zahl" aufgerufen, der übergibt
den ersten Wert aus dem Array "punkt_zahl" an die Funktion "punkte_aufbau"
und die Funktion wird in der darunter liegende Tabelle aufgerufen:
<table>
<tr>
<td colspan="3" height="30" valign="top">
<script language=JavaScript>
<!--
var SeitenZahl = "<%=$seiten_anzeige%>";
for(var i=1; i<=SeitenZahl; i++){
document.write("<input type='button' id='s_"+i+"' value='"+i+"'
style='width=25;'");
document.write("OnClick=\"seiten_zahl("+i+")\">\n" );
}
//-->
</script>
</td>
</tr>
<tr>
<td>
<script language=JavaScript>
<!--
punkte_aufbau();
//-->
</script>
</td>
....
aber die komplett Seite wird "vernichtet", der Quelltext im Browser sieht so
aus:
<input type='button' id='b_1' value='1'
style='width=25;'OnClick="button_farbe(1)">
<input type='button' id='b_2' value='2'
style='width=25;'OnClick="button_farbe(2)">
<input type='button' id='b_3' value='3'
style='width=25;'OnClick="button_farbe(3)">
<input type='button' id='b_4' value='4'
style='width=25;'OnClick="button_farbe(4)">
<input type='button' id='b_5' value='5'
style='width=25;'OnClick="button_farbe(5)">
<input type='button' id='b_6' value='6'
style='width=25;'OnClick="button_farbe(6)">
<input type='button' id='b_7' value='7'
style='width=25;'OnClick="button_farbe(7)">
<input type='button' id='b_8' value='8'
style='width=25;'OnClick="button_farbe(8)">
<input type='button' id='b_9' value='9'
style='width=25;'OnClick="button_farbe(9)">
<input type='button' id='b_10' value='10'
style='width=25;'OnClick="button_farbe(10)">
das ist alle was der Browser bekommt.
Jetzt meine Frage weis jemand wie man das Problem lösen kann, dh. beim
Aufruf der Funktion "punkte_aufbau" der restliche Quellcode erhalten bleibt,
oder den "EndWert" für die for-Schleife an die richtige Stelle übergeben:
....
<table>
<tr>
<td colspan="3" height="30" valign="top">
<script language=JavaScript>
<!--
var SeitenZahl = "<%=$seiten_anzeige%>";
for(var i=1; i<=SeitenZahl; i++){
document.write("<input type='button' id='s_"+i+"' value='"+i+"'
style='width=25;'");
document.write("OnClick=\"seiten_zahl("+i+")\">\n" );
}
//-->
</script>
</td>
</tr>
<tr>
<td>
<script language=JavaScript>
<!--
for(var i=1; i<=EndWwert; i++){
document.write("<input type='button' id='b_"+i+"' value='"+i+"'
style='width=25;'");
document.write("OnClick=\"farbe("+i+")\">\n");
}
//-->
</script>
</td>
....
als alternative, leider haben beide nicht funktioniert, hat jemand ein
Vorschlag oder eine Idee wie man das lösen kann?
Danke im voraus.
Grüße Bernhard |