HTMLForm: Support 'url' type
authorBrad Jorsch <bjorsch@wikimedia.org>
Fri, 28 Feb 2014 21:42:27 +0000 (16:42 -0500)
committerBrad Jorsch <bjorsch@wikimedia.org>
Wed, 12 Mar 2014 19:04:51 +0000 (15:04 -0400)
SecurePoll will have a field that's a url, so we may as well use the
correct HTML5 input type for it.

Change-Id: Id3ddd8f2efdff08c8a188089d321d143ce5ef9c9

includes/htmlform/HTMLForm.php
includes/htmlform/HTMLTextField.php

index 3e2a09e..f4b16cc 100644 (file)
@@ -118,10 +118,11 @@ class HTMLForm extends ContextSource {
                'edittools' => 'HTMLEditTools',
                'checkmatrix' => 'HTMLCheckMatrix',
                // HTMLTextField will output the correct type="" attribute automagically.
-               // There are about four zillion other HTML5 input types, like url, but
+               // There are about four zillion other HTML5 input types, like range, but
                // we don't use those at the moment, so no point in adding all of them.
                'email' => 'HTMLTextField',
                'password' => 'HTMLTextField',
+               'url' => 'HTMLTextField',
        );
 
        public $mFieldData;
index 57f0a72..e584d88 100644 (file)
@@ -43,9 +43,6 @@ class HTMLTextField extends HTMLFormField {
                # is essentially just a clone of this one.
                if ( isset( $this->mParams['type'] ) ) {
                        switch ( $this->mParams['type'] ) {
-                               case 'email':
-                                       $attribs['type'] = 'email';
-                                       break;
                                case 'int':
                                        $attribs['type'] = 'number';
                                        break;
@@ -54,8 +51,10 @@ class HTMLTextField extends HTMLFormField {
                                        $attribs['step'] = 'any';
                                        break;
                                # Pass through
+                               case 'email':
                                case 'password':
                                case 'file':
+                               case 'url':
                                        $attribs['type'] = $this->mParams['type'];
                                        break;
                        }