Am un formular web foarte complex într-un site web Drupal 7 pe care l-am moștenit. Am adăugat o componentă de marcare care creează un buton și am adăugat niște JS care leagă acest buton pentru a declanșa o fereastră modală să se deschidă. În modal este afișat un bloc care conține o vizualizare care listează unele profiluri de utilizator.
Când vizitez formularul web, totul funcționează normal și pot face clic pe butonul pentru a deschide modulul, dar când revin la o depunere a unei schițe, butonul declanșează trimiterea formularului web. Am căutat răspunsuri și am încercat o mulțime de lucruri diferite, dar nimic nu pare să poată opri butonul care trimite formularul. Dacă modific marcajul pentru a folosi o altă etichetă, cum ar fi o etichetă span, atunci aceasta nu se trimite. Markup-ul este exact același în interiorul celor două formulare (trimiterea inițială și modificarea schiței), dar comportamentul este diferit!
Deci întrebarea este, știe cineva o modalitate de a împiedica butoanele din componentele de marcare să trimită formularul în care se află?
Formularul este absolut masiv, așa că nu cred că este util să postezi marcajul întregului lucru aici, dar butonul arată astfel:
<button id="ref-1-modal-trigger" class="ref-modal-trigger button--gold" data-ref-number="1">Button Name</button>
Și JS arată astfel:
// Obțineți butonul care deschide modulul
var btnRef1 = document.getElementById("ref-1-modal-trigger");
// Când utilizatorul face clic pe buton, deschide modulul
btnRef1.onclick = function() {
refNumber = btnRef1.getAttribute("data-ref-number");
modalRef1.style.display = "blocare";
modalRef1.setAttribute('data-ref-number', refNumber);
}
Bazele proiectului:
Mulțumesc anticipat!