Ergebnis 1 bis 14 von 14
  1. #1
    Avatar von mikdoe
    mikdoe ist offline Administrator
    registriert
    01-05-2010
    Beiträge
    7.932

    disabled im Ajax Request klappt nicht

    Hi!
    Firefox und Safari erfreuen mich heute wieder ganz besonders.
    Bitte sag mir doch mal einer, wieso die beiden mir während des Ajax die Schaltflächenbeschriftung nicht ausgrauen.
    IE9 und Opera 11.64 machen es wunderbar genau wie gewünscht.
    Lasse ich class="navigation" ganz weg sehen sich auch Safari und FF genötigt, die Fläche auszugrauen.
    Was ist falsch an dem CSS/Code?

    HTML-Code:
    <!DOCTYPE HTML>
    <html>
    	<head>
    		<script type="text/javascript" src="/javascript/jquery.js"></script>
    		<script type="text/javascript" src="/javascript/jquery-ui.js"></script>
    		<script type="text/javascript" src="/javascript/jquery-set.js"></script>
    	</head>
    	<style>
    		.navigation {
    			background-color:	#D0D0D0;
    			font-family:		"Arial";
    			font-size:			12px;
    			color:				blue;
    			width:				100px;
    			height:				26px;
    			padding:			1px;
    			cursor:				pointer;
    			border-style:		outset;
    			text-align:			center;
    			font-size:			11px;
    			letter-spacing:		0.03em;
    			font-weight:		bold;
    		}
    	</style>
    	<body>
    		<div><input id="schalter" type="button" value="Test" class="navigation"></div>
    		<script>
    			function testreq () {
    				document.getElementById('schalter').disabled = true;
    				jQuery.ajax ({
    					url: 'test.pl',
    					data: '',
    					type: 'POST',
    					cache: false,
    					success: function () {
    						document.getElementById('schalter').disabled = false;
    						window.setTimeout(function () {testreq();},3000);
    					},
    					error: function () {
    						document.getElementById('schalter').disabled = false;
    						window.setTimeout(function () {testreq();},3000);
    					}
    				});
    			}
    			testreq();
    		</script>
    	</body>
    </html>
    Die test.pl macht nichts weiter als nach 3 Sekunden einen Header zu liefern, um das Problem zu reproduzieren.
    Danke für alle Hinweis.

  2. #2
    Avatar von kkapsner
    kkapsner ist offline Super Moderator
    registriert
    28-03-2008
    Beiträge
    17.757

    AW: disabled im Ajax Request klappt nicht

    Wenn du dem Browser sagst, dass der Text blau sein soll, dann macht das er das auch (wenn er vernünftig arbeitet).
    Das ist mal wieder ein klassisches IE-Sache, dass er versucht zu erraten, was du haben willst. Wenn du jetzt bei einem deaktiviertem Button als Schriftfarbe gerne lila hättest (oder was auch immer...) macht dir das der IE nicht.

    Wenn du willst, dass dein Button beim deaktivieren anders aussieht, musst du ihm natürlich auch sagen, dass er jetzt anders aussehen soll - und zwar im CSS über eine zusätzliche Klasse (außer im IE - da geht das nicht...).

  3. #3
    Avatar von mikdoe
    mikdoe ist offline Administrator
    registriert
    01-05-2010
    Beiträge
    7.932

    AW: disabled im Ajax Request klappt nicht

    Zitat Zitat von kkapsner Beitrag anzeigen
    Wenn du willst, dass dein Button beim deaktivieren anders aussieht, musst du ihm natürlich auch sagen, dass er jetzt anders aussehen soll - und zwar im CSS über eine zusätzliche Klasse (außer im IE - da geht das nicht...).
    OK, kann ich nachvollziehen auch wenn es mir mal wieder garnicht gefällt. Thema intuitives Richtigverhalten und so
    Was kann man denn wohl meinen, wenn man einen Button auf disabled setz? Na ja, anderes Thema....
    Wenigstens zieht der Opera bei diesem Problem auch korrekt mit, dass ihr nicht immer nur auf den IE schimpft
    Mit welchen CSS Def's kann ich denn am besten ein "disabled" nachempfinden?

  4. #4
    ein schlauer ist offline Lounge-Member
    registriert
    18-08-2004
    Beiträge
    14.671

    AW: disabled im Ajax Request klappt nicht

    Opera hat bei mir darüber hinaus auch noch seltsamerweise einen blauen Rahmen.

    Schimpfen muss man mittlerweile nicht mehr über den IE (wenn wir von aktuellen versionen sprechen), denn Fehler haben alle Browser.

    http://reference.sitepoint.com/css/pseudoclass-disabled
    Seltsamerweise steht hier, dass Opera das pseudo Element unterstützt, was bei mir aber nicht der Fall ist, zumindest die Schriftfarbe wird ignoriert.

    Das Gestalten von Formularelementen ist häufiger von Problemen begleitet. Der Artikel ist zwar etwas älter, aber ich vermute er hat immer noch eine gewisse Gültigkeit http://www.webkrauts.de/2007/05/31/v...kte-formulare/

  5. #5
    Avatar von mikdoe
    mikdoe ist offline Administrator
    registriert
    01-05-2010
    Beiträge
    7.932

    AW: disabled im Ajax Request klappt nicht

    Danke für alle Antworten.
    Ich knall jetzt in die Spalte einfach einen Wartekreisel. Hab auf dieses Zeug keinen Bock.
    Wenn die Spezi mal wieder wichtiger ist als der Zweck dann umgehe ich das elegant

  6. #6
    ein schlauer ist offline Lounge-Member
    registriert
    18-08-2004
    Beiträge
    14.671

    AW: disabled im Ajax Request klappt nicht

    Zitat Zitat von mikdoe Beitrag anzeigen
    Danke für alle Antworten.
    Ich knall jetzt in die Spalte einfach einen Wartekreisel. Hab auf dieses Zeug keinen Bock.
    Wenn die Spezi mal wieder wichtiger ist als der Zweck dann umgehe ich das elegant
    Ich verstehe die Reaktion nicht, was ist denn der Zweck, der sich nicht erfüllt?

  7. #7
    Avatar von mikdoe
    mikdoe ist offline Administrator
    registriert
    01-05-2010
    Beiträge
    7.932

    AW: disabled im Ajax Request klappt nicht

    Zitat Zitat von ein schlauer Beitrag anzeigen
    Ich verstehe die Reaktion nicht, was ist denn der Zweck, der sich nicht erfüllt?
    Na ich müsste ein CSS definieren, das optisch einen disabled Zustand simuliert. Und da habe ich keinen Bock drauf. Sieht doch in allen Browsern wieder anders aus. Mit so einem Quatsch beschäftige ich mich nicht.
    Für mich ist die Intuition eindeutig. Ich will einen Button disabled haben. Und dafür ein eigenes CSS zu definieren sehe ich garnicht ein. Bei solchen "der Browser erfüllt wider jeglichen Sinnes und aller Intuition die Spezifikation"-Spielchen mache ich einfach vom Grundsatz her nicht mit.

  8. #8
    ein schlauer ist offline Lounge-Member
    registriert
    18-08-2004
    Beiträge
    14.671

    AW: disabled im Ajax Request klappt nicht

    Zitat Zitat von mikdoe Beitrag anzeigen
    Na ich müsste ein CSS definieren, das optisch einen disabled Zustand simuliert.
    Nein, du müßtest im CSS die Eigenschaften für den disabled Zustand definieren, so wie z.b. auch bei Links.

    Zitat Zitat von mikdoe Beitrag anzeigen
    Und da habe ich keinen Bock drauf. Sieht doch in allen Browsern wieder anders aus. Mit so einem Quatsch beschäftige ich mich nicht.
    Wie schon gesagt, Formularelemente gestalten war schon immer ein Problem, daher ist es am sinnvollsten sich mit dem "Quatsch" nicht zu beschäftigen und die Elemente so zu lassen wie sie der Browser darstellt, ist auch für den Benutzer am einfachsten.

    Zitat Zitat von mikdoe Beitrag anzeigen
    Für mich ist die Intuition eindeutig. Ich will einen Button disabled haben. Und dafür ein eigenes CSS zu definieren sehe ich garnicht ein. Bei solchen "der Browser erfüllt wider jeglichen Sinnes und aller Intuition die Spezifikation"-Spielchen mache ich einfach vom Grundsatz her nicht mit.
    Wie schon gesagt, das ist der normale Weg. Auch besuchte Links sehen nur anders aus, wenn du das im CSS explizit so schreibst, aber wenn du sowas grundsätzlich nicht machst, dann sind besuchte Links eben Lila.

  9. #9
    Avatar von mikdoe
    mikdoe ist offline Administrator
    registriert
    01-05-2010
    Beiträge
    7.932

    AW: disabled im Ajax Request klappt nicht

    Zitat Zitat von ein schlauer Beitrag anzeigen
    Nein, du müßtest im CSS die Eigenschaften für den disabled Zustand definieren, so wie z.b. auch bei Links.
    Ja, ich müsste einen
    Code:
    ...:disabled{}
    Bereich für das Element definieren. Und was schreibe ich da rein, damit es in allen Browsern jeweils so aussieht wie der Browser auch ansonsten ein disabled Element darstellt?
    border-style: inset; ? Ist es das schon? Und die Farbe?
    Zitat Zitat von ein schlauer Beitrag anzeigen
    Wie schon gesagt, Formularelemente gestalten war schon immer ein Problem, daher ist es am sinnvollsten sich mit dem "Quatsch" nicht zu beschäftigen und die Elemente so zu lassen wie sie der Browser darstellt, ist auch für den Benutzer am einfachsten.
    Hast du die Anforderung verstanden?
    Ich will garnichts gestalten. Ich will lediglich ein <button> Element auf disabled setzen und der Benutzer soll das sehen. Aber zwei Browser spielen - wie so oft - nicht mit.

  10. #10
    ein schlauer ist offline Lounge-Member
    registriert
    18-08-2004
    Beiträge
    14.671

    AW: disabled im Ajax Request klappt nicht

    Zitat Zitat von mikdoe Beitrag anzeigen
    Hast du die Anforderung verstanden?
    Ich will garnichts gestalten. Ich will lediglich ein <button> Element auf disabled setzen und der Benutzer soll das sehen. Aber zwei Browser spielen - wie so oft - nicht mit.
    Ja, der IE und Opera. Wobei meistens der IE Probleme hat.

    Wie gesagt, wenn du im CSS schreibst a{ color:green;} siehst du auch nicht mehr die besuchten Links und musst die Farbe explizit definieren, hier ist es genau das gleiche. Wenn du den Button gestaltest, dann musst du alle seine Zustände gestalten.

  11. #11
    Avatar von kkapsner
    kkapsner ist offline Super Moderator
    registriert
    28-03-2008
    Beiträge
    17.757

    AW: disabled im Ajax Request klappt nicht

    Der Button wird doch auch auf "disabled" gesetzt - nur hast du die graphische Darstellung dafür überschrieben... mit deinem CSS. Die Browserdefaults der Darstellung hat in CSS (normalerweise und laut Specs) die geringste Priorität.

  12. #12
    Avatar von mikdoe
    mikdoe ist offline Administrator
    registriert
    01-05-2010
    Beiträge
    7.932

    AW: disabled im Ajax Request klappt nicht

    Zitat Zitat von ein schlauer Beitrag anzeigen
    Ja, der IE und Opera. Wobei meistens der IE Probleme hat.
    Und genau die beiden machen es hier eben genau wie gewünscht.
    Ich meine, welchen Sinn macht es denn, dass ein Browser nur aufgrund einer CSS Anweisung die sich auf den nicht-disabled Teil bezieht im disabled Zustand den Button unverändert läßt?

    Aus der Tatsache, dass der abled-Zustand definiert ist abzuleiten, dass der disabled Zustand auch definiert zu sein hat oder ich ändere den Button nicht (aus Sicht Browser) finde ich Blödsinn. Und offensichtlich sehen das die Programmierer des IE und Opera genau wie ich, denn die verhalten sich näher am objektiv Gewollten als FF und Safari.

    Zitat Zitat von kkapsner Beitrag anzeigen
    nur hast du die graphische Darstellung dafür überschrieben... mit deinem CSS.
    Wie gesagt. Den abled Zustand habe ich überschrieben, nicht den disabled Zustand. In meinen Augen verhalten sich FF und Safari hier falsch.
    Aber es ist ja immer so, dem einen gefällt es, dem anderen nicht. Wenn es wenigstens alle gleich handhaben würden, aber nein.........
    Geändert von mikdoe (02-08-2012 um 06:56 Uhr)

  13. #13
    Avatar von miniA4kuser
    miniA4kuser ist offline Lounge-Member
    registriert
    12-07-2006
    Beiträge
    3.034

    AW: disabled im Ajax Request klappt nicht

    Zitat Zitat von mikdoe Beitrag anzeigen
    Wie gesagt. Den abled Zustand habe ich überschrieben, nicht den disabled Zustand. In meinen Augen verhalten sich FF und Safari hier falsch.
    Aber es ist ja immer so, dem einen gefällt es, dem anderen nicht.
    So ist das halt mit den Geschmäckern... der Eine mag es so und der Andere eben anders. Oder wie man auch so schön sagt: 2 Stühle > 3 Meinungen.


    Zitat Zitat von mikdoe Beitrag anzeigen
    Wenn es wenigstens alle gleich handhaben würden, aber nein.........
    Das wünscht sich denke ich mal Jeder von uns, aber so ist das halt mit den Wünschen und der Realität. Das Problem ist ja auch: Nach welchem Standard sollten sich den alle Browser richten? Es gibt ja keinen "offiziellen" Standard in dem Sinne, sondern nur Konsortien, wie das W3C, welche versuchen einen (quasi)-Standard zu verfassen an den sich bitte alle Browser freiwilig halten. Zum Glück versuchen diese mittlerweile das dort definierte umzusetzen, wobei manche Interpretation auch mal fehlschlagen kann bzw. Rechte-/Lizenzprobleme oder Lizenzkosten (Audio/Video) auch wieder Unterschiede an den Tag bringen.

    Dein Wunsch würde also erst in Erfüllung gehen, wenn jede Browserveröffentlichung vorher z.B. vom W3C geprüft werden muss und eben diese dann entscheiden dürften ob veröffentlicht wird oder erst nachgearbeitet werden muss. Der Nachteil dabei wäre dann aber, dass Eigenentwicklungen bzw. -erweiterungen der Standards aussterben würden, was dann wiederum das W3C zurückwerfen wird, weil die Ideengeber wegsterben...
    Hoffe ich konnte helfen

  14. #14
    ein schlauer ist offline Lounge-Member
    registriert
    18-08-2004
    Beiträge
    14.671

    AW: disabled im Ajax Request klappt nicht

    Zitat Zitat von mikdoe Beitrag anzeigen
    Und genau die beiden machen es hier eben genau wie gewünscht.
    Ich meine, welchen Sinn macht es denn, dass ein Browser nur aufgrund einer CSS Anweisung die sich auf den nicht-disabled Teil bezieht im disabled Zustand den Button unverändert läßt?
    Der Sinn ist, dass sich die Angabe auf einen Button im allgemeinen bezieht, wenn du die Eigenschaften nur im enabled Zustand geändert haben möchtest, dann benutze .navigation:enabled

    Zitat Zitat von mikdoe Beitrag anzeigen
    Aus der Tatsache, dass der abled-Zustand definiert ist abzuleiten, dass der disabled Zustand auch definiert zu sein hat oder ich ändere den Button nicht (aus Sicht Browser) finde ich Blödsinn. Und offensichtlich sehen das die Programmierer des IE und Opera genau wie ich, denn die verhalten sich näher am objektiv Gewollten als FF und Safari.
    Beim IE ist es eher so, dass er es gar nicht anders kann.

Ähnliche Themen

  1. Ajax Request
    Von Barcardi im Forum JavaScript
    Antworten: 17
    Letzter Beitrag: 10-05-2011, 14:48
  2. Antworten: 1
    Letzter Beitrag: 25-07-2010, 14:38
  3. ExtJs Ajax.request failure funktioniert nicht
    Von GoetzEisenfaust im Forum JavaScript
    Antworten: 12
    Letzter Beitrag: 16-07-2010, 07:57
  4. Ajax Request geht nicht immer
    Von dezer im Forum JavaScript
    Antworten: 10
    Letzter Beitrag: 20-06-2008, 18:06
  5. AJAX Request funkt. nicht
    Von Soapp im Forum JavaScript
    Antworten: 3
    Letzter Beitrag: 05-10-2006, 14:37

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •