I read the section 2.4 on input:
http://www.whatwg.org/specs/web-forms/c ... extensions
and I'm extremely glad of "date", "time", "number"
The calendar should be fully CSS stylable and could be make
to look stylish like their JavaScript equivalent:
http://www.dynarch.com/projects/calendar/
However I think that type="number" should be "long long" only
or /^[\+\-]?[0-9]+$/,
while type="float" or "double" as you which
should be /^[\+\-]?[0-9]+\.?[0-9]*([Ee][\+\-]?[0-9]+)$/
So this can be valid. I don't see also "money" which would be
2 decimal from 0.00 to 99,999,999,999.99.
or "percent" which would be 0.000 - 100.000%
On 2.6 pattern, I fully agree except I want a "bright" browser:
<input type="text" name="CanadianZipCode"
convert="upper"
pattern="[A-Z][0-9][A-Z]\-[A-Z][0-9][A-Z]" />
should display [___-___] as the result
Another work around is to have:
<input type="text" name="CanadianZipCode"
convert="upper"
pattern="[A-Z][0-9][A-Z]\-[A-Z][0-9][A-Z]"
display=" - "/>
Same for this:
<input type="text" name="AmericanPhone"
pattern="\([0-9][0-9][0-9]\)\-[0-9][0-9][0-9]\-[0-9][0-9][0-9][0-9]"
display="( )- - "/>
So that a user type 305 555 6789 (no dash) and backspace on 6 goes to 5.
Don't get me started on stupidities like this:
(<input name="areacode" type="text"/>) <input name="phonepre" type="text"/> - <input name="phonepost" type="text"/>
and then some glue javascript nightmare to make it work like it should.
The goal is simple: Remove all the JavaScript work-around.
Why should I have to import 30K of JS lib everytime I write a webpage?
Also, missing is this VERY NEEDED FEATURE!
<input type="richtext" name="wordpadeditor">
<b>This <i>is</i> so cool man</b>
<table><tbody><tr><td>....</td></tr></tbody></table>
Finally, this is a REAL browser
</input>
TinyMCE work arounds MUST DIE.
http://tinymce.moxiecode.com/
You can think of a richtext input as an "editable <iframe>"
that could work also, BUT that <iframe> must be submittable by forms.
<iframe editable="true"> ... </iframe>
Another nice to have would be JSTL or Struts or equivalent logical
construct within HTML like this:
<switch name="zipswitch" value="CA">
<case match="(CA)|(US)">
<input type="text" name="zipcode" />
</case>
<default>No zipcode</default>
</switch>
So I can write a no brainer:
<select name="country"
onchange="document.getElementById('zipswitch').value = this.value">
<option>CA....
or like everyone does nowaday:
onchange="$('zipswitch').value = this.value"
Input, comments, better workaround all welcome of course =)