das mit dem kürzen is halt so ne sache. hab ja keinen plan warum das dann nicht funktioniert, da ich meiner meinung nach ja überhaupt nix am js teil gemacht habe.
hier mal der vollständige quelltext:
PHP-Code:
<script type="text/javascript">
var anzahl_gast = 0;
var gast = new Array(false, false, false, false, false);
function gast_test(nr){
var tbl = document.getElementById('runde_eintragen');
if(document.getElementsByName("spieler["+nr+"]")[0].value == 'Gast' && gast[nr] == false){ //wenn ein neuer gast gewählt wurde
alert('hallo');
if(anzahl_gast == 0){
var zeile = tbl.insertRow(8);
zeile.setAttribute('id', 'tab_form');
zelle = new Array(6);
for (var i = 0; i < zelle.length; i++){
zelle[i] = zeile.insertCell(i);
zelle[i].innerHTML=" ";
}
zelle[0].innerHTML="Name";
zelle[0].setAttribute('id', 'left');
}
var j = nr+1;
var el = document.createElement('input');
el.setAttribute('type', 'text');
el.setAttribute('name', 'gastname'+j);
el.setAttribute('size', '9');
el.setAttribute('maxlength', '20');
var tab = 33 + nr;
el.setAttribute('tabindex', tab);
zelle[j].appendChild(el);
anzahl_gast++;
gast[nr] = true;
}
if(document.getElementsByName("spieler["+nr+"]")[0].value != 'Gast' && gast[nr] == true){
var j = nr+1;
zelle[j].removeChild(zelle[j].lastChild);
if(anzahl_gast == 1){
tbl.deleteRow(8);
}
gast[nr] = false;
anzahl_gast--;
}
}
</script>
<?php
if($_SESSION["login"] == FALSE) {
echo '<h1>Sie sind nicht befugt die Inhalte dieser Seite zu sehen!<br>
Melden Sie sich an</h1>';
}
else{
include_once 'config.inc.php';
$datum = implode('-', array_reverse(explode(".", $_GET['date'])));
$sql = "SELECT
*
FROM
Runden
WHERE
Datum = '".$datum."'";
$result = mysql_query($sql) or die( 'Error[SELECT|User]: <br />
<pre>' . $sql . '</pre>
<br />
MySQL-Error: ' . mysql_error() );
$datensatz = mysql_fetch_array($result);
$spiele = $datensatz['Spiele'];
$faktor = $datensatz['Faktor'];
for($i=0;$i<5; $i++){
switch($datensatz[($i+4)]){
case 0: $rundenspieler[$i] = 'keiner'; break;
case ($datensatz[($i+4)]<=5): $rundenspieler[$i] = 'Gast';
break;
default:
$sql = "SELECT
User
FROM
USER_VERWALTUNG
WHERE
ID = ".$datensatz[($i+4)];
$result = mysql_query($sql) or die( 'Error[SELECT|User]: <br />
<pre>' . $sql . '</pre>
<br />
MySQL-Error: ' . mysql_error() );
$row = mysql_fetch_array($result);
$rundenspieler[$i] = $row['User'];
break;
}
$sql = "SELECT
*
FROM
Runden_erg
WHERE
rundenID = ".$datensatz['ID']."
AND
userID = ".$datensatz[($i+4)];
$result = mysql_query($sql) or die( 'Error[SELECT|User]: <br />
<pre>' . $sql . '</pre>
<br />
MySQL-Error: ' . mysql_error() );
if(mysql_num_rows($result) !=0){
$row = mysql_fetch_array($result);
$rundenpunkte[$i] = $row['Punkte'];
$rundenstrafen[$i] = $row['Strafen'];
$rundeneinkauf[$i] = $row['Einkauf'];
$rundensonsitges[$i] = $row['Sonstiges'];
$rundengast[$i] = $row['Gastname'];
}
else { $rundenpunkte[$i] = 0;
$rundenstrafen[$i] = 0;
$rundeneinkauf[$i] = 0;
$rundensonsitges[$i] = 0;
$rundengast[$i] = '';
}
}
if($datensatz['Abgeschlossen'] == 1 ){
$readonly = 'readonly="readonly"';
$abgeschlossen = true;
}
else {
$readonly = '';
$abgeschlossen = false;
$sql = "SELECT
User
FROM
USER_VERWALTUNG
order by ID";
$result = mysql_query($sql) or die( 'Error[SELECT|User]: <br />
<pre>' . $sql . '</pre>
<br />
MySQL-Error: ' . mysql_error() );
while($row = mysql_fetch_array($result)){
$userliste .= '<option>'.$row['User'].'</option>';
}
$userliste.= '<option>Gast</option>';
}
echo '
<h1>Runde ändern/eintragen</h1>
<form action="" method="post">
<table id="runde_eintragen" border="1">
<tr>
<td> </td>
<td colspan="5">
Termin <font style="font-size:70%;">(JJJJ-MM-TT)</font> <input size="8" value="'.$_GET["date"].'" name="datum" type="text" tabindex="5" maxlength="10" '.$readonly.'>
Spiele <input size="1" value="'.$spiele.'" name="spiele" type="text" tabindex="6" maxlength="2" '.$readonly.'>
€/Punkt <input size="1" value="'.$faktor.'" name="faktor" type="text" tabindex="7" maxlength="3" '.$readonly.'>
</td>
</tr>
<tr id="leerspalte"><td colspan="6" id="leerspalte"> </td></tr>
<tr id="spalten_headline">
<td> </td>';
for($i=0; $i<5; $i++){
echo '<td>Spieler '.($i+1).'</td>';
}
echo '
</tr>
<tr>
<td> </td>';
for($i=0; $i<5; $i++){
echo '<td><select size="1" name="spieler['.$i.']" type="text" tabindex="'.(8+$i).'" onchange="gast_test('.$i.')" '.$readonly.'>';
if($abgeschlossen == 1){
echo ' <option>'.$rundenspieler[$i].'</option>';
}
else {
echo '<option value="">';
if($i == 4){echo 'keiner';}
else{ echo ' ';}
echo '</option>'.$userliste;
}
echo ' </select>
</td>';
}
echo '
</tr>
<tr>
<td id="left">Punkte</td>';
for($i=0; $i<5; $i++){
echo '<td><input size="9" value="'.$rundenpunkte[$i].'" name="punkte['.$i.']" type="text" tabindex="'.(13+$i).'" maxlength="3" '.$readonly.'></td>';
}
echo '
</tr>
<tr>
<td id="left"><nobr>Strafen <font style="font-size:70%;">[€]</font></nobr></td>';
for($i=0; $i<5; $i++){
echo '<td><input size="9" value="'.$rundenstrafen[$i].'" name="strafen['.$i.']" type="text" tabindex="'.(18+$i).'" maxlength="5" '.$readonly.'></td>';
}
echo '
</tr>
<tr>
<td id="left"><nobr>Einkauf <font style="font-size:70%;">[€]</font></nobr></td>';
for($i=0; $i<5; $i++){
echo '<td><input size="9" value="'.$rundeneinkauf[$i].'" name="einkauf['.$i.']" type="text" tabindex="'.(23+$i).'" maxlength="5" '.$readonly.'></td>';
}
echo '
</tr>
<tr>
<td id="left"><nobr>Sonstiges <font style="font-size:70%;">[€]</font></nobr></td>';
for($i=0; $i<5; $i++){
echo '<td><input size="9" value="'.$rundensonsitges[$i].'" name="sonstiges['.$i.']" type="text" tabindex="'.(28+$i).'" maxlength="5" '.$readonly.'></td>';
}
echo '
</tr>
<tr id="leerspalte"><td colspan="6" id="leerspalte"> </td></tr>
<tr>
<td colspan="4" id="right">
<input tabindex="39" value="Runde eintragen" type="submit" name="runde_eintragen">
</td>
<td colspan="2" id="left">';
if($_SESSION["runde_abschliessen"] == true && $abgeschlossen == false){
echo '<input type="checkbox" tabindex="38" name="abgeschlossen" value="yes">
Runde abschließen';
}
echo '
</td>
</tr>
</table>
</form>';
for($i=0;$i<5; $i++){
if(strcmp(trim($rundengast[$i]),'') != 0){
echo $rundengast[$i].'hallo';
echo '<script type="text/javascript">gast_test('.$i.');</script>';
}
}
}
?>
habe mal mit alert versucht zu sehen wo der fehler in der js funktion is. der muss bei der if bedingung liegen. versteh ich aber nicht