Setting display to none using jquery or javascript removes the svg element off the DOM. This is strange.
I am trying show a pop up dialog with ok and cancel buttons using jquery which works, but after clicking any of the buttons its deleting the whole svg element from DOM
Code:
<div id="dialog" class="bs-example web_dialog">
<form>
<div class="form-group">
<div class="col-lg-4" style="left: 173px; top: 258px; visibility: visible; position: absolute; overflow: visible; border: 1px solid #C5C5C5">
<label for="inputEmail">Unique Id/Mobile Number:</label>
<input type="number" class="form-control" id="inputEmail" placeholder="Unique Id" width="10px">
<label for="inputPassword">Document URL</label>
<input type="url" class="form-control" id="inputPassword" placeholder="URL">
<br>
<div class="btn-sm">
<button type="submit" id="btn_save" class="btn btn-primary btn-sm">Ok</button>
<button type="submit" id="btn_cancel" class="btn btn-primary btn-sm" onclick="closePopUp(event)">Cancel</button>
</div>
</div>
</div>
</form>
</div>
<button type="submit" id="btn_cancel" class="btn btn-primary btn-sm" onclick="closePopUp()">Cancel</button>
function closePopUp()
{
document.getElementById('dialog').style.display = 'none';
}
Executing the above is removing svg element off the DOM
pressing a submit button in a form is the problem. even though the form element has none of the usual attributes for a form attribute, pressing a submit button will reload the page
option 1: don't use unless you are submitting data
option 2: return false in the submit buttons onclick
go with option 1 every time :p