--- title: HTMLDialogElement slug: Web/API/HTMLDialogElement tags: - API - Experimental - HTML DOM - HTMLDialogElement - Interface - Reference - インターフェイス translation_of: Web/API/HTMLDialogElement --- <div>{{APIRef("HTML DOM")}}{{SeeCompatTable}}</div> <p><strong><code>HTMLDialogElement</code></strong> インターフェイスは {{HTMLElement("dialog")}} 要素を操作するメソッドを提供します。 {{domxref("HTMLElement")}} インターフェースからプロパティとメソッドを継承しています。</p> <p>{{InheritanceDiagram(600, 80)}}</p> <h2 id="Properties" name="Properties">プロパティ</h2> <p><em>親である {{domxref("HTMLElement")}} からプロパティを継承しています。</em></p> <dl> <dt>{{domxref("HTMLDialogElement.open")}}</dt> <dd>{{domxref("Boolean")}} で、ダイアログが対話可能であることを示す {{htmlattrxref("open", "dialog")}} 属性の値を反映します。</dd> <dt>{{domxref("HTMLDialogElement.returnValue")}}</dt> <dd>{{domxref("DOMString")}} で、ダイアログの返値を設定させたり返したりします。</dd> </dl> <h2 id="Methods" name="Methods">メソッド</h2> <p><em>親である {{domxref("HTMLElement")}} からメソッドを継承しています。</em></p> <dl> <dt>{{domxref("HTMLDialogElement.close()")}}</dt> <dd>ダイアログを閉じます。任意で引数として {{domxref("DOMString")}} を渡すことができ、これがダイアログの <code>returnValue</code> を更新します。</dd> <dt>{{domxref("HTMLDialogElement.show()")}}</dt> <dd>ダイアログをモードレスで開きます。すなわち、その間のダイアログの外のコンテンツとの対話ができます。</dd> <dt>{{domxref("HTMLDialogElement.showModal()")}}</dt> <dd>ダイアログをモーダルで、他のダイアログがあればその最も上に表示します。ダイアログの外との対話はブロックされます。</dd> </dl> <h2 id="Events" name="Events">イベント</h2> <dl> <dt>{{domxref("HTMLDialogElement/close_event", "close")}}</dt> <dd>ダイアログが閉じられたときに発生します。<br> {{domxref("GlobalEventHandlers/onclose", "onclose")}} プロパティからも利用できます。</dd> </dl> <h2 id="Examples" name="Examples">例</h2> <p>以下の例は単純なボタンを表示し、クリックすると、 {{htmlelement("dialog")}} でフォームを {{domxref("HTMLDialogElement.showModal()")}} 関数によって開きます。そこから <em>Cancel</em> ボタンを押して ({{domxref("HTMLDialogElement.close()")}} 関数で) ダイアログを閉じるか、 submit ボタンでフォームを送信するかします。</p> <pre class="brush: html"> <!-- Simple pop-up dialog box, containing a form --> <dialog id="favDialog"> <form method="dialog"> <section> <p><label for="favAnimal">Favorite animal:</label> <select id="favAnimal" name="favAnimal"> <option></option> <option>Brine shrimp</option> <option>Red panda</option> <option>Spider monkey</option> </select></p> </section> <menu> <button id="cancel" type="reset">Cancel</button> <button type="submit">Confirm</button> </menu> </form> </dialog> <menu> <button id="updateDetails">Update details</button> </menu> <script> (function() { var updateButton = document.getElementById('updateDetails'); var cancelButton = document.getElementById('cancel'); var dialog = document.getElementById('favDialog'); dialog.returnValue = 'favAnimal'; function openCheck(dialog) { if(dialog.open) { console.log('Dialog open'); } else { console.log('Dialog closed'); } } // Update button opens a modal dialog updateButton.addEventListener('click', function() { dialog.showModal(); openCheck(dialog); }); // Form cancel button closes the dialog box cancelButton.addEventListener('click', function() { dialog.close('animalNotChosen'); openCheck(dialog); }); })(); </script></pre> <div class="note"> <p><strong>メモ</strong>: この例は GitHub 上の <a href="https://github.com/mdn/dom-examples/blob/master/htmldialogelement-basic/index.html">htmldialogelement-basic</a> (<a href="https://mdn.github.io/dom-examples/htmldialogelement-basic/">ライブで表示</a>) として見つけることができます。</p> </div> <h2 id="Specifications" name="Specifications">仕様書</h2> <table class="standard-table"> <thead> <tr> <th scope="col">仕様書</th> <th scope="col">状態</th> <th scope="col">備考</th> </tr> </thead> <tbody> <tr> <td>{{SpecName('HTML WHATWG', "#htmlinputelement", "HTMLInputElement")}}</td> <td>{{Spec2('HTML WHATWG')}}</td> <td></td> </tr> <tr> <td>{{SpecName('HTML5.1', 'interactive-elements.html#the-dialog-element', '<dialog>')}}</td> <td>{{Spec2('HTML5.1')}}</td> <td>初回定義</td> </tr> </tbody> </table> <h2 id="Browser_compatibility" name="Browser_compatibility">ブラウザーの互換性</h2> <p>{{Compat("api.HTMLDialogElement")}}</p> <h2 id="See_also" name="See_also">関連情報</h2> <ul> <li>このインターフェイスを実装している HTML 要素: {{ HTMLElement("dialog") }}</li> </ul>