Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
über button hidden field setzen [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr
ebiz-webhosting
- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
über button hidden field setzen


 
KamiKatze
24-10-2005, 12:30 
 
in dem folgenden quelltext, habe ich einen submitbutton, mit dem ich ein hiddenfeld setzen möchte. den wert hole ich mir aus der datenbank. das problem ist, das hiddenfeld wird nicht gesetzt. wieso?

echo "<input type='hidden' name='etagenwahl'>";
echo "<h2><u><b>Gebäude ".$_SESSION['gebaeudeauswahl']."</b></u></h2></br>";
$et=mysql_query("Select Etage, Beschreibung, EtagenID From etage
Where Haus='$_SESSION[gebaeudeauswahl]' Order By Etage");
while($row=mysql_fetch_row($et))
{ $zi=mysql_query("Select Zimmer, Beschreibung From zimmer
Where EtagenID='$row[2]' Order By Zimmer");
echo "<table class='leer'>";
echo "<td class='leer' width='20%'><b>Etage: $row[0]</b></td>";
echo "<td class='leer' width='60%'><b>$row[1]</b></td>";
echo "<td class='leer' width='20%'><b>Link zur Darstellung</b></td>";
echo "</table>";
echo "<table class='eins'>";
$m=0;
while($rowzi=mysql_fetch_row($zi))
{ if($m==5)
{ $m=0;
echo "</tr><tr>";
}
echo "<td><input type='submit' name='auswahletage' value='$rowzi[0]'
class='drei' onclick='this.form.etagenwahl.value=$row[0]'>";
echo " $rowzi[1]</td>";
$m++;
}
echo "</table></br>";
}

 
TobiaZ
24-10-2005, 12:54 
 
Hast du ein PHP- oder ein JS-Problem??

 
KamiKatze
24-10-2005, 13:04 
 
ja frag mich mal? ich benutze öfter onclick und da funktioniert es. falsch geschrieben hab ich meiner meinung nach auch nichts. wenn ich auf den wert von "etagenwahl" zugreifen will, dann ist der immer leer.
das problem liegt hier onclick='this.form.etagenwahl.value=$row[0]'>"; wenn ich $row[0] durch eine andere variable ersetze, die eine feste wertzuweisung hat und von mir aus auch in der schleife steht, funktioniert das nicht. ersetze ich $row[0] durch einen festen wert, funktioniert das ganze bei onclick.

 
TobiaZ
24-10-2005, 13:08 
 
Dann guck dir mal bitte den HTML-Quelltext an. Was unterscheidet die funktionierende Version von der nicht funktionierenden?

 
KamiKatze
24-10-2005, 13:18 
 
gut, laut html-quellcode steht beim onclick-ereignis das richtige ereignis mit den richtigen werte drin. dann bleibt nur noch das onclick-ereignis selbst, das mir das hiddenfeld nicht setzt. kann es daran liegen, dass das hiddenfeld außerhalb der tabelle sitzt und die knöpfe in dieser?

orginal html:

<input type='hidden' name='etagenwahl'>
<td><input type='submit' name='auswahletage' value='001'
class='drei' onclick='this.form.etagenwahl.value=E'> Flur

 
TobiaZ
24-10-2005, 13:19 
 
poste mal bitte html-code der funktionierenden und der nicht funktionierenden variante

 
wahsaga
24-10-2005, 13:29 
 
Original geschrieben von KamiKatze
gut, laut html-quellcode steht beim onclick-ereignis das richtige ereignis mit den richtigen werte drin.
Nein, vermutlich ist dem nicht so.
onclick='this.form.etagenwahl.value=E'
Hast du eine Javascript-Variable, die auf den Namen E hört?

 
KamiKatze
24-10-2005, 13:32 
 
nicht funktionierender code
<td><input type='submit' name='auswahletage' value='002'
class='drei' onclick='this.form.etagenwahl.value=E'> Flur</td>
funktionierender code
<td><input type='submit' name='auswahletage' value='002'
class='drei' onclick='this.form.etagenwahl.value=2'> Flur</td>

nächste Seite
nicht funktionierender code
<b><u>Gebäude A, Etage , Zimmer 002</b></u>
funktionierender code
<b><u>Gebäude A, Etage 2, Zimmer 002</b></u>
hinter der etage lese ich "etagenwahl" aus.

 
KamiKatze
24-10-2005, 13:49 
 
@wahsaga
das soll ja auch eine wertzuweisung sein und keine übergabe einer variable. ich hab mal ein wenig rumprobiert, wenn ich statt $row[0] eine zahl schreibe, übernimmt er mir die beim nächsten formular, schreibe ich einen buchstaben, übernimmt er ihn nicht. um eine zeichenkette zu definieren kann ich doch nicht nochmal hochkomma in hochkomma machen.

 
mrhappiness
24-10-2005, 13:52 
 
7 ist eine Zahl

E ist keine Zahl, sondern ein Buchstabe, also musst du entweder "E" oder 'E' schreiben.
Wie du das machst, und wo bei welcher Variante die ggf. notwendigen \ stehen müssen, findest du heraus/entscheidest du.
Wichtig ist nur, dass das E nicht einfach so dasteht

 
KamiKatze
24-10-2005, 14:07 
 
dann verleitet mich deine antwort jetzt dazu, dich zu fragen wo ich mich über \ informieren kann.

 
mrhappiness
24-10-2005, 14:11 
 
echo "abc";
echo "ab'c";
echo "ab\\"c";
echo 'abc';
echo 'ab"c';
echo 'ab\\'cc';alles klar?

 
KamiKatze
24-10-2005, 14:20 
 
nach einem kleinen augenblick des testens schon.
großes :danke: an euch beide

und wir haben gelernt :teach:
onclick='this.form.etagenwahl.value=\"$row[0]\"'


Alle Zeitangaben in WEZ +2. Es ist jetzt 19:10 Uhr.