Mensen,
Ik loop tegen het volgende probleem aan en ik vraag me af of ik iets heel simpels over het hoofd zie, of dat Safari hier gek doet.
Ik tik wat in het input-text-veld en wat in de textarea, druk dan op Reset, en dan wordt het input-text-veld weer leeg, terwijl de tekst in de textarea blijft staan.
In Firefox wordt de textarea wel gewist.
Het probleem zit hem er misschien in, dat de textarea volgens Safari geen initial value heeft, en dan geldt:
Ik vind dat het helemaal niet zo vreemd is dat een textarea leeg is en dat "leeg" (dus: "") hier best mag gelden als initial value.
Ik moet zeggen dat dit mij nog nooit is opgevallen en dat een paar Google searches geen andere meldigen van dit gedrag opleveren. Ik werk met een Developer's preview van Safari 4, dus misschien zit het daarin. Maar in de live omgeving van mijn tool (dat was niet deze uitgeklede versie) had een collega met Safari 3 hetzelfde. We werken op de Mac.
Dit is simpel op te lossen met js, maar het gaat me even om het default gedrag. Ligt het nu aan mijn Safari 4, is dit toch op de een of andere manier logisch, hoe zit dit volgens jullie?
Edit:
Oké, de laatste nightly van Webkit doet dit niet, dus het heeft wel met Safari 4 te maken. Ik zie denk ik al dat er in de live omgeving een ander probleem is. Misschien kom ik daar dadelijk nog op terug. Over dit specifieke voorbeeld hoeven jullie je niet te buigen. Excuus!
Ik loop tegen het volgende probleem aan en ik vraag me af of ik iets heel simpels over het hoofd zie, of dat Safari hier gek doet.
HTML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
| <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <title>Form test</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> </head> <body> <div id="wrapper"> <form name="form1" id="form1" action="blabla.php" method="post"> <p> <input type="text" name="inputtext1" id="inputtext" size="15"> </p> <div> <textarea name="textarea1" id="textarea1" rows="8" cols="40"></textarea> </div> <p> <input type="reset" name="inputreset" value="Reset" id="inputreset"> <input type="submit" name="inputsubmit" value="Submit" id="inputsubmit"> </p> </form> </div> </body> </html> |
Ik tik wat in het input-text-veld en wat in de textarea, druk dan op Reset, en dan wordt het input-text-veld weer leeg, terwijl de tekst in de textarea blijft staan.
In Firefox wordt de textarea wel gewist.
Het probleem zit hem er misschien in, dat de textarea volgens Safari geen initial value heeft, en dan geldt:
Als ik een spatie zet tussen de open- en sluittag van de textarea, dan komt die spatie inderdaad terug na een reset van het formulier.The control's "current value" is first set to the initial value. Thereafter, the control's current value may be modified through user interaction and scripts.
A control's initial value does not change. Thus, when a form is reset, each control's current value is reset to its initial value. If a control does not have an initial value, the effect of a form reset on that control is undefined.
Ik vind dat het helemaal niet zo vreemd is dat een textarea leeg is en dat "leeg" (dus: "") hier best mag gelden als initial value.
Ik moet zeggen dat dit mij nog nooit is opgevallen en dat een paar Google searches geen andere meldigen van dit gedrag opleveren. Ik werk met een Developer's preview van Safari 4, dus misschien zit het daarin. Maar in de live omgeving van mijn tool (dat was niet deze uitgeklede versie) had een collega met Safari 3 hetzelfde. We werken op de Mac.
Dit is simpel op te lossen met js, maar het gaat me even om het default gedrag. Ligt het nu aan mijn Safari 4, is dit toch op de een of andere manier logisch, hoe zit dit volgens jullie?
Edit:
Oké, de laatste nightly van Webkit doet dit niet, dus het heeft wel met Safari 4 te maken. Ik zie denk ik al dat er in de live omgeving een ander probleem is. Misschien kom ik daar dadelijk nog op terug. Over dit specifieke voorbeeld hoeven jullie je niet te buigen. Excuus!
[ Voor 5% gewijzigd door Verwijderd op 18-02-2009 21:04 ]