मार्कर दिखाने के लिए MapBox ऑनसबमिट प्राप्त नहीं कर सकता

वोट
0

अरे लोग मैं एक बटन MapBox नक्शे पर प्रदर्शित करने के लिए एक बिंदु प्रस्तुत करने के लिए कोशिश कर रहा हूँ। मैं मुसीबत सही दायरे में क्लिक हैंडलर हो रही हो रहा है।

अभी मैं इतना नक्शा प्रदर्शित और हैंडलर परिभाषित करने के लिए की तरह मेरे js निर्धारित किए हैं:

window.onload = function(){

(function(){

L.mapbox.accessToken = 'pk.eyJ1IjoidHJlYmVrMSIsImEiOiJjaWo0c2ZtYzYwMDN3dGhtMzhremFtMW8wIn0.dBWgVtzgwok3cCi7p5euCg';
var container = document.getElementById('container');

var map = L.mapbox.map('map', 'mapbox.streets').setView([37.7749300,-122.4194200], 12); 

map.featureLayer.setGeoJSON(geojson);

// var newMarkerGroup = new L.LayerGroup();
    map.on('click', function(e){
       var newMarker = new L.marker(e.latlng).addTo(map);     
    });

return{

    mboxsubmit: function(event){

        event.preventDefault();
        var query = document.getElementById('mboxplace').value; 

        var map = document.getElementById('map'); 
        var newMarker = new L.marker({lat: 37.7749300, lng: -122.4194200 }).addTo(map);

        document.getElementById('mboxplace').value = '';  
    }


};

})();


}

HTML में मैं एक रूप है:

<div id='container'>

        <div id='map'></div>
        <br/>
        <form onsubmit=mboxsubmit(event) name=mboxform id=mboxform>
            Search: <input id=mboxplace name=mboxtext type=text placeholder =input a place to locate>
            <input id=mboxsub type=submit></input>
        </form>

        <a href=/><button>Go Back to Home Page</button></a>
        <br/>
    </div>

कोई फर्क नहीं पड़ता कि मुझे क्या करना मैं mboxsubmit परिभाषित नहीं कर सकते। मैं एक बंद गुंजाइश के रूप में कंटेनर का उपयोग कर की कोशिश की लेकिन है कि या तो काम नहीं किया। क्या कोई जानता है कि इसे कैसे करना है?

08/01/2016 को 17:01
का स्रोत उपयोगकर्ता
अन्य भाषाओं में...                            


1 जवाब

वोट
0

सबसे पहले, आपकी HTML में एक सिंटैक्स त्रुटि है। आप के लिए बंद करने उद्धरण भूल typeविशेषता:

<input id="mboxplace" name="mboxtext" type="text placeholder ="input a place to locate">

होना चाहिए:

<input id="mboxplace" name="mboxtext" type="text" placeholder ="input a place to locate">

आपका वास्तविक समस्या अपने कार्य एक वस्तु जो सौंपा नहीं प्राप्त करता है देता है। आप अपने वैश्विक विस्तार में एक चर निर्दिष्ट करने के लिए आप अपने ऑनसबमिट स्थिति में इसे का उपयोग करना चाहते हैं की जरूरत है:

window.onload = function () {
    // Assign return object
    window.obj = (function () {
        return  {
            mboxsubmit: function (event) {
                alert('Fire!');
            }
        };
    })();
}

अब आप को फोन करके उपयोग कर सकते हैं obj.mboxsubmit:

<form onsubmit="obj.mboxsubmit()"></form>
08/01/2016 को 18:40
का स्रोत उपयोगकर्ता

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more