ArcGIS Javascript APIはこのフレームワークに基づいているため、dojoフレームワークでフォームを作成できます。
のは、道場のウェブサイトからこの例を見てみましょう:https://dojotoolkit.org/reference-guide/1.10/dijit/form/Form.html
このフォームには2つの値、名前と生年月日を要求します。 多角形の属性に対応するものとしましょう。 今、あなたのニーズに合わせて調整しましょう。
まず、我々は
<div data-dojo-type="dijit/form/Form" id="myForm" data-dojo-id="myForm" encType="multipart/form-data" action="" method="">
<table style="border: 1px solid #9f9f9f;" cellspacing="10">
<tr>
<td><label for="name">Name:</label></td><td><input type="text" id="name" name="name" required="true" data-dojo-type="dijit/form/ValidationTextBox"/></td>
</tr>
<tr>
<td><label for="dob">Date of birth:</label></td><td><input type="text" id="dob" name="dob" data-dojo-type="dijit/form/DateTextBox"/></td>
</tr>
</table>
<button data-dojo-type="dijit/form/Button" type="submit" name="submitButton" value="Submit">Submit</button>
<button data-dojo-type="dijit/form/Button" type="reset">Reset</button>
さて、フォームを処理するためのJavaScriptコード当社のフォームを構築する必要があるHTMLを取ります。それをあなたのコードにマージして、置き換えないようにしてください。
require(["dojo/parser", "dojo/on", "dijit/registry", "dijit/form/Form", "dijit/form/Button", "dijit/form/ValidationTextBox", "dijit/form/DateTextBox", "dojo/domReady!"],
function(parser, on, registry) {
var attributes = {};
parser.parse();
var myForm = registry.byId("myForm");
on(myForm, "submit", function(){
if(this.validate()){
attributes = myForm.getValues();
delete attributes['submitButton'];
return true;
}else{
alert('Form contains invalid data. Please correct first');
return false;
}
});
on(myForm, "reset", function(){
return confirm('Press OK to reset widget values');
});
});
最後に、あなたのコードの最後の行を変更し、そのAPIドキュメントに記載されているように、それは、多角形のフォームから属性を付ける:
var graphic = new Graphic(evt.geometry, symbol, attributes);
map.graphics.add(graphic);