要件定義の不安をなくす。要件定義の不安をなくす。ユニファのバックエンド分割に学ぶイノベーションメタバース開発に必要な技術の基本知識をおさらい。Boost」など、さまざまなカンファレンスを企画・運営しています。BOOKS(コードジン・ブックス)は、CodeZineの連載からカットアップした、開発現場の課題解決に役立つ書籍シリーズです。5の最初の大きな目的の1つは、主要なHTMLフォーム要素を現状の潮流に合うように変更することでした。5の仕様が現在までにどれくらいこの目的を達成しているかを解説します。3オートコンプリート、リスト、データリスト、プレースホルダ、オートフォーカスフォーム要素XMLはどうなるかはじめにほぼすべてのWebアプリケーションにとって、フォームはなくてはならないものになりましたが、HTMLフォームの主要な要素は13年近くも前のものです。5の最初の大きな目的の1つが、現状の潮流に合わせてこれらの要素を変更することであったのも不思議ではありません。W3Cが最初にXHTML仕様を策定したとき根底にあった目標の1つは、XMLコンテンツの処理に適したフォームアーキテクチャを作ることでした。そこで2002年にXFormsが開発されました。4で進化した名前/値のペアやJavaScriptよりもXMLが重視されていて、平均的なWeb開発者には複雑で柔軟性の低い仕様だと受け止められました。5の草案となりました。2.0の計画はなくなりました。5の草案には、いくつかの新しいフォーム要素と既存要素の改訂が組み込まれています。4.0で使用している基本データモデルを踏襲するもので、各フォームコントロールは独自の内部ステートを持ち、外部リソースに依存しません。この処理については、過去のバージョンの言語仕様ほど明確には定義されていません。5の草案に導入されている、主要な新しいフォーム要素と既存要素の変更点を説明します。新しいフォーム要素のなかで最も重要なのは、<output>要素でしょう。<input>要素と同様に、<output>要素にも@value属性があり、現在の状態の値が反映されます。<output>要素で表示されるのは、内部コンテンツではなく値です。@value属性(または要素の対応する.valueプロパティ)が変化すると、そのコンテンツも変化します。World!"コードでは、あいさつの相手の名前がoutputフィールドになっています。</body></html>outputの利点はすぐには分かりにくいかもしれません。確かに、同じid値と.innerTextプロパティを持つ<span>要素でも、これと同じことはできるでしょう。<output>要素の利点は、この要素に新しく追加されたプロパティを使うことで発揮されます。@modeと@defaultValueという2つの属性を使うと、フィールドの初期値を作成できます。@modeを"default"に設定し、@value属性を設定しないでおくと、outputフィールドの@valueは@defaultValueの値と同じになります。どちらも指定しなかった場合には、空文字列("")になります。@valueが変化すると、@defaultValueも変化します。@mode属性を"value"に設定した場合、@defaultValueは、@valueの値が変化しても変わらず、.defaultValueプロパティからしかアクセスできなくなります。フィールドの初期値を作成した結果は、フォームをリセットすると確認できます。各フォームには専用の.reset()メソッドがあり、これが呼び出されると、フォームの各要素はそれぞれの内部リセットルーチンを呼び出します。outputの場合、リセットの結果、@value属性は(それに伴い対象要素の表示も)@defaultValueの値に設定されます。フォームコントロールは、対象となるフォーム要素内に記述する必要はありません。コントロールの@form=name属性を使えば、指定した名前のフォームと結び付けることができます。このことは、<output>にとって特に有用です。<output>要素は大抵テキストコンテンツに含まれ、リンク先のフォームからは離れていることが多いからです。</body></html>ここでは、<output>はフォームの外に記述されていますが、@form属性を介してフォームと結び付いています。初期値は"World"です。ユーザーがいずれかのボタンを押すと、まず@mode属性が"value"に設定され、@value属性と@defaultValue属性が分離されます。して、@defaultValueには常に初期値(ここでは"World")が保持されます。World!"に戻ります)。5仕様には明記されていません。5が普及すれば、<output>要素は広く使われることになるでしょう。この要素を使うことで、JavaScriptのコーディングも(特定の新規ドキュメントでは特に)onforminputなどのフォームベースのイベントも飛躍的に簡素化できます。1999年9月にオープンした、日本初のネットビジネス専門ニュースサイト。最新記事を日本語に翻訳して掲載するとともに、日本独自のネットビジネス関連記事やレポートを配信。Webのウェブマスター。カナダ、ブリティッシュコロンビア州のビクトリア在住。XBRLに関する著書を執筆中。3.12」の最初のベータ版がリリース新着記事一覧を見るイベント今後の予定を見るCodeZineは、株式会社翔泳社が運営するソフトウェア開発者向けのWebメディアです。「デベロッパーの成長と課題解決に貢献するメディア」をコンセプトに、現場で役立つ最新情報を日々お届けします。イラストの無断転載を禁じます。記載されているロゴ、システム名、製品名は各社及び商標権者の登録商標あるいは商標です。