J'ai une forme simple inspirée par ce method for encoding svg files as data uri's.Arrêter l'actualisation sur le formulaire envoyer lors de l'utilisation de javascript
Le formulaire de soumission est géré par vanilla Javascript et fonctionne très bien, sauf que la page est actualisée sur le soumettre et je dois retour pour obtenir le résultat. Comment puis-je arrêter l'actualisation de la page?
<body>
<form id="svgUriEncode">
<textarea rows="4" cols="50" id="svgIn"></textarea>
<button id="encode">encode</button>
<textarea rows="4" cols="50" id="svgOut"></textarea>
</form>
<script type="text/javascript">
var form = document.getElementById("svgUriEncode");
function encodeOptimizedSVGDataUri(form) {
var uriPayload = encodeURIComponent(form.svgIn.value) // encode URL-unsafe characters
.replace(/%0A/g, '') // remove newlines
.replace(/%20/g, ' ') // put spaces back in
.replace(/%3D/g, '=') // ditto equals signs
.replace(/%3A/g, ':') // ditto colons
.replace(/%2F/g, '/') // ditto slashes
.replace(/%22/g, "'"); // replace quotes with apostrophes (may break certain SVGs)
form.svgOut.value = 'data:image/svg+xml,' + uriPayload;
}
form.encode.addEventListener("click", function() {
encodeOptimizedSVGDataUri(form);
});
</script>
Soumettez-vous fait quelque chose à un serveur? Si non, alors il n'y a aucune raison d'avoir un formulaire en premier lieu. – djfdev
preventDefault peut bloquer la propagation d'un autre événement: imo –