php.de

Zurück   php.de > Webentwicklung > HTML, Usability und Barrierefreiheit

HTML, Usability und Barrierefreiheit Themen rund um Textauszeichnung, Formatierung, Barrierefreiheit und Usability.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 27.10.2007, 09:46  
Erfahrener Benutzer
 
Registriert seit: 30.04.2004
Beiträge: 225
rocco
rocco eine Nachricht über ICQ schicken
Standard File-Field en- & disablen

Hallo!

Ich hab hier ein File-Field und zwei Radio-Buttons. Bei einem Klick auf das eine Radio-Button soll ich das File-Field disablen, beim Klick auf das andere Radio-Butten, enablen.
Grundsätzlich funktioniert es. Allerdings wenn ich das ganze "dynamisch" (mit PHP) mache, funktioniert es nimmer. Aber ich versteh nicht wieso...

So hab ichs gemacht:
PHP-Code:
# $anz ist die Laufvariable, dis() und en() die JS-Funktionen
echo '
<input type="radio" name="foto_do['
.$anz.']" value="bleib" checked  onklick="dis('.$anz.')">Foto beibehalten


<input type="radio" name="foto_do['
.$anz.']" value="neu" onklick="en('.$anz.')">Neues Foto:


<input type="file" class="file" name="foto['
.$anz.']" id="'.$anz.'" disabled>
'

Und hier noch die Funktionen im Head-Bereich:
Code:
function en(vari) {
document.getElementById(vari).disabled = false;
}

function dis(vari) {
document.getElementById(vari).disabled = true;
}
Ich hoffe ihr könnt mir helfen den Fehler zu finden; bin am verzweifeln

Grüße, und Danke im vorraus
rocco ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 27.10.2007, 10:59  
Moderator
 
Benutzerbild von agrajag
 
Registriert seit: 02.10.2006
Beiträge: 3.820
PHP-Kenntnisse:
Fortgeschritten
agrajag wird schon bald berühmt werdenagrajag wird schon bald berühmt werden
Standard

Wie sieht die Ausgabe des PHP-Scripts aus - also der ausgegebene Quelltext. Denn der ist relevant. Wenn der anders aussieht als der, den du "von hand" ausprobiet hast, hast du doch den fehler schon so gut wie...
__________________
Today you...Tomorrow me.
agrajag ist offline   Mit Zitat antworten
Alt 27.10.2007, 12:23  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Dem kann ich nur zustimmen und dich noch drauf hinweisen, dass wenn du schon XHTML-Zeilenumbrüche (
) verwendest, du dann doch auch konsequent XHTML verwenden solltest. Das heißt Tags die nicht schließen, mit /> beenden und Attribute ohne Wert wie checked/disabled immer so zu schreiben:
Code:
<input .. disabled="disabled" />
Ist einfach richtiger
Zergling-new ist offline   Mit Zitat antworten
Alt 27.10.2007, 12:46  
Moderator
 
Benutzerbild von agrajag
 
Registriert seit: 02.10.2006
Beiträge: 3.820
PHP-Kenntnisse:
Fortgeschritten
agrajag wird schon bald berühmt werdenagrajag wird schon bald berühmt werden
Standard

Ich hab nach Zerglings Posting jetzt zufällig noch folgenden Fehler in deinem Quellcode entdeckt:

Wenn $anz eine Laufvariable ist die nur einen Integer enhält kann es nicht gehen, da eine ID nicht mit einer Zahl beginnen darf und schon garnicht nur eine zahl sein kann...Wenn $anz ein String ist fehlen an verschiedenen Stellen Anführungszeichen...
__________________
Today you...Tomorrow me.
agrajag ist offline   Mit Zitat antworten
Alt 27.10.2007, 13:50  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Zitat:
Zitat von Agrajag
Wenn $anz eine Laufvariable ist die nur einen Integer enhält kann es nicht gehen, da eine ID nicht mit einer Zahl beginnen darf und schon garnicht nur eine zahl sein kann...Wenn $anz ein String ist fehlen an verschiedenen Stellen Anführungszeichen...
Das dachte ich auch zuerst, aber es klappt - hat mich auch gewundert.
Code:
<html>
<body>

<div id="2">test</div>

<script>
alert(document.getElementById(2).innerHTML);
</script>

</body>
</html>
Zergling-new ist offline   Mit Zitat antworten
Alt 27.10.2007, 15:04  
Erfahrener Benutzer
 
Registriert seit: 30.04.2004
Beiträge: 225
rocco
rocco eine Nachricht über ICQ schicken
Standard

Zitat:
Zitat von Agrajag
Wie sieht die Ausgabe des PHP-Scripts aus - also der ausgegebene Quelltext. Denn der ist relevant. Wenn der anders aussieht als der, den du "von hand" ausprobiet hast, hast du doch den fehler schon so gut wie...
Naja, das ist es ja. Der Quellcode sieht auch gleich aus. Mit dem einen Unterschied, dass ich bei
Code:
document.getElementById(vari).disabled = true;
die Anführungszeichen in der Klammer (also um vari) weggelassen hab. Aber auch mit den Anführungszeichen klappt es nicht (gerade probiert).

Zitat:
wenn du schon XHTML-Zeilenumbrüche (
) verwendest, du dann doch auch konsequent XHTML verwenden solltest.
Dane für den Tipp, werde in Zukunft darauf achten.

Zitat:
Wenn $anz eine Laufvariable ist die nur einen Integer enhält kann es nicht gehen, da eine ID nicht mit einer Zahl beginnen darf und schon garnicht nur eine zahl sein kann...Wenn $anz ein String ist fehlen an verschiedenen Stellen Anführungszeichen...
$anz ist eine Zahl (von 1 bis i). Aber auch bei meinem "statischen" Test verwendete ich für eine Zahl, allerdings zweistellig... Kann da das Problem sein?
rocco ist offline   Mit Zitat antworten
Alt 27.10.2007, 16:23  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Das Problem ist, wie ich gerade beim Testen entdeckt habe, dass du onklick statt onclick geschrieben hast.

Nicht umsonst verweise ich hier:
http://www.phpfriend.de/forum/ftopic62838.html
auf einen DOCTYPE und HTML-Validierung, das hätte dir den Gang ins Forum erspart
Zergling-new ist offline   Mit Zitat antworten
Alt 27.10.2007, 16:32  
Erfahrener Benutzer
 
Registriert seit: 30.04.2004
Beiträge: 225
rocco
rocco eine Nachricht über ICQ schicken
Standard

*aufdenkopfklatsch*

Vielen Dank!
rocco ist offline   Mit Zitat antworten
Alt 27.10.2007, 20:15  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.987
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Zitat:
Zitat von Zergling
Nicht umsonst verweise ich hier:
http://www.phpfriend.de/forum/ftopic62838.html
auf einen DOCTYPE und HTML-Validierung, das hätte dir den Gang ins Forum erspart ;)
Ja. Und dort dürfte Dir dann auch gesagt werden, dass eine Zahl als ID , trotzdem es funktioniert, fehlerhaftes html darstellt.

Zitat:
Zitat von Selfhtml Attributreferenz
ID, IDREF oder Name

Der Wert eines solchen Attributs muss mit einem Buchstaben A-Z oder a-z beginnen, und darf in der weiteren Zeichenkette ebenfalls nur Buchstaben A-Z und a-z, Ziffern 0-9, Bindestriche (-), Unterstriche (_), Doppelpunkte (:) und Punkte (.) enthalten. Nicht erlaubt sind Sonderzeichen, Leerzeichen oder andere Interpunktionszeichen.
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Formuilar hilfe imported_chewy PHP Tipps 2006 25 15.05.2006 15:14
PHP file in HTML file anzeigen, geht das? PHP Tipps 2006 8 02.02.2006 10:51
[Erledigt] Exim --- Mailserver empfängt keine Mails Server, Hosting und Workstations 4 23.12.2005 18:28
[Erledigt] Wie kann ich ein Zip File mit PHP erstellen PHP-Fortgeschrittene 7 11.10.2005 12:46
filemtime() auf zweitem Server File prüfen? tekknotrip PHP Tipps 2005-2 2 19.08.2005 16:48
File nur temporär erstellen PHP Tipps 2005-2 2 02.08.2005 21:39
libmysqlclient.so.10 is needed Datenbanken 11 20.06.2005 15:27
[Erledigt] Unix file lesen? PHP-Fortgeschrittene 15 08.06.2005 18:05
update auf php 5.0.4 robo47 Server, Hosting und Workstations 6 10.04.2005 19:00
Logik Problem, delete File... PHP-Fortgeschrittene 6 07.11.2004 18:27
problem bei file 2x über ein formular weiterzureichen. Promaetheus PHP Tipps 2004-2 2 07.11.2004 00:49
file umbenennen - welcher php befehl? kain PHP Tipps 2004 4 20.08.2004 02:47
ausgefuehrtes php file als html speichern PHP Tipps 2004 8 28.07.2004 17:59
file(); problem PHP Tipps 2004 3 12.07.2004 11:51
file + array und fwrite PHP Tipps 2004 3 03.07.2004 14:38

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
disnanz

Alle Zeitangaben in WEZ +2. Es ist jetzt 03:15 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.