Vairāk

Vai iesniegt veidlapu no brošūras uznirstošā loga?


Es vēlos iesniegt veidlapu no bukleta uznirstošā loga, vienkārši izmantojot javascript un geojson. Būtībā es apkopoju informāciju par atribūtiem formā, un tad es vēlos apstrādāt informāciju jaunā funkcijā, izmantojot koordinātas no marķiera kartē. Veidlapa atrodas bukleta uznirstošajā logā, un pēc "iesniegt" es gribu "preventDefault" un pēc tam kaut ko darīt. Es izmantoju veidlapu leaflet.draw spraudnī.

Process norisinās: ielādējiet karti ar zīmēšanas iespējām (bez rediģēšanas vai dzēšanas), noklikšķiniet uz zīmēšanas rīka, noklikšķiniet uz kartes, lai pievienotu punktu, pagaidu marķieris ievietots ar atvērtu uznirstošo logu, kurā ir veidlapa, iesniedziet, lai pievienotu marķieri pašreizējam objekta slānim pēc konvertēšanas no ģeojsona .

Pašlaik iesniegšanas laikā lapa tiek atkārtoti ielādēta, un nekas nenotiek. Es pat nevaru kaut ko pieteikties konsolē.

Šeit ir mans kods:

Es arī mēģināju izsaukt savu funkciju addMarker, izsaucot pogu klasi, iegūstot pogas elementu pēc id un iegūstot formas elementu ar id un pārkārtojot manu kodu kā tādu.

$ ("# forma"). Iesniegt (funkcija (notikums) {event.preventDefault (); addMarker ();});

Kāds ir labākais veids, kā veiksmīgi "iesniegt" veidlapu no bukleta uznirstošā loga “leaflet.draw: created” laikā, neizmantojot php? Es nevēlos šo informāciju glabāt datu bāzē, bet gan vēlos to izmantot, lai pievienotu jaunu funkciju ar daudziem atribūtiem.


Es sapratu! - problēma ir tā, ka mana funkcija vai visur, kur es turu savu koda rindiņu, lai "preventDefault ()" būtu ārpus funkcijas, kas vispirms izveidoja veidlapu. Man kods jānovieto šādi:

// Pielāgotās funkcijas, rediģējot map.on ('draw: created', funkcija (e) {var coords = e.layer._latlng; console.log (coords); var tempMarker = featureGroup.addLayer (e.layer) ; var popupContent = '
'+ ''+ ''+ ''+ ''+ ''+ ''+ ''+ ''+ ''+ ''+ ''+ ''+ //… ''+ ''+ ''+ ''+ ''+ ''+ ''+ ''+ ''+ ''+ '
"; tempMarker.bindPopup (popupContent, {keepInView: true, closeButton: false}). openPopup (); $ ("# forma"). Iesniegt (funkcija (e) {e.preventDefault (); console.log ("didnt submitted"); var date = $ ("# date"). val (); console.log ( datums); }); });

Tas ļauj man strādāt ar formas elementu, pirms tas būtībā rada jaunu.


Skatīties video: Beno lankstinukas apie Kėdainius. (Oktobris 2021).