传单中带有自定义控件的配置表单

Configuration form with a custom control in leaflet

我正在尝试使用传单创建自定义控件;在这里你可以看到 jsfiddle:https://jsfiddle.net/1tca13f3/

当用户点击提交按钮时,我需要从下拉列表和文本字段中读取值。

这个...

 L.DomEvent.on(this._container, 'click', this._doSomething, this);

...正如所料,行不通..而且我无法从输入字段中读取值。我怎样才能做到这一点?

您遇到的主要问题是您只是在 _doSomething() 函数中提醒字符串 'clicked'。你需要查找所有的值,然后你可以用这些值做任何你想做的事。这里有一些快速代码,至少可以让您朝着正确的方向前进。

_doSomething: function(event){ 
 if(event.target.className === 'leaflet-control-opt-submit') {
    var select = document.querySelector('.leaflet-control-opt-dropdown');       
    var input = document.querySelector('.leaflet-control-opt-input');
    console.log(select.value, input.value)
 }
}

它首先检查以确保 event.target 是提交按钮,如果它是,它会从输入中查找值,现在我们只是 console.log() 他们你可以做任何你想做的事想从那时起有了价值观。