J'ai un problème dans lequel je fais une demande de vente HTTP à un serveur JSON local à l'aide d'ASYNC, attendre, cela fonctionne bien, c'est juste lorsque la demande de vente est terminée. La page est essentiellement rafraîchissante que je ne veux pas et je peux sembler l'arrêter. J'ai essayé d'utiliser E.PreventDefault () mais cela ne semble pas fonctionner. J'ai une page HTML de base et la plupart des éléments de ma page HTML sont servis de manière dynamique à l'aide de JavaScript. Je cible le bouton Save-Connection qui appelle ma demande http.pan, cela fonctionne bien, puis je serre les données précédentes avec getallConnections () et ui.showconnections (connexions disponibles), cela clignote pour une seconde, puis immédiatement la demande de vente Envoie une réponse et je reçois la navigation sur localhost: 5500 / index.html? #. Comment puis-je arrêter de naviguer à partir de l'accueil?
Ma bibliothèque HTTP est dans un fichier JS distinct: p>
http.js p> application. JS P> editConnection(connectionName, connectionIpAddress, connectionPort) {
const params = document.getElementById('data');
const connectionData = `
<div class="container">
<div class="card mb-3 mt-3">
<div class="card">
<h5 class="card-header text-left">
Enter Connection Data:
</h5>
<div class="card-body">
<form>
<div class="form-group text-left">
<label for="connection-name">Please enter a Connection Name:</label>
<input type="text" class="connection-name form-control " id="connection-name" placeholder="${connectionName}">
<div class="invalid-feedback"> Name must be between 2 and 25 characters
</div>
</div>
<div class="form-group text-left">
<label for="ipAddress">Please enter an IP Address:</label>
<input type="text" class="ipAddress form-control" id="ipAddress" placeholder="${connectionIpAddress}">
<div class="invalid-feedback"> Please enter a valid IP Address in the format 192.168.200.100
</div>
</div>
<div class="form-group text-left">
<label for="port">Please enter a Port:</label>
<input type="number" class="port form-control" id="port" placeholder="${connectionPort}">
<div class="invalid-feedback"> Please enter a valid 4 figure port number eg 8080
</div>
</div>
<div class="form">
<div class="form-group">
<div class="form-row">
<div class="col">
<button href="#" [![enter image description here][1]][1]type="button" class="save-connection btn btn-warning btn-lg btn-block">Save Connection</button>
</div>
<div class="col">
<button href="#" type="button" class="cancel btn btn-dark btn-lg btn-block">Cancel</button>
</div>
</div>
</div>
</div>
</form>
</div>
</div>
</div>
3 Réponses :
Votre bouton est un bouton Changez simplement votre bouton vers un bouton normal. Il n'est pas nécessaire que ce soit une soumission. P> Soumettre code>. Le comportement d'un bouton Soumettre consiste à soumettre le formulaire - ce qui est exactement ce qui se passe. P>
Merci pour la réponse, mais je reçois toujours le même problème. J'ai inclus une image et a souligné le comportement que j'essaie de prévenir. J'étais à l'origine à l'origine en utilisant Type = "Button" mais modifier en Type = "Soumettre" pour voir si elle arrêtait la page rafraîchissante. Y a-t-il autre chose que je puisse essayer. Vous verrez dans l'image "Tanks 1 192.168.100.100 1222" imprimé dans la console est les données d'origine, je l'écrase ensuite avec la méthode postale et remplacez tout avec des caractères vides, puis obtenez le comportement navigué sur 127.0.0.1:5500 J'essaie de prévenir.
Vous soumettez un élément de formulaire. P>
Si vous souhaitez continuer à utiliser l'événement CODE> Cliquez sur CODE>, supprimez la balise Si vous souhaitez continuer à utiliser la balise, vous devez écouter l'événement code> Soumettre sur le formulaire et utiliser
type = "BOUTON" CODE> . p>
ev.preventDefault () code> sur cet événement. p>
Merci pour la réponse, mais je reçois toujours le même problème. J'ai inclus une image et a souligné le comportement que j'essaie de prévenir. J'étais à l'origine à l'origine en utilisant Type = "Button" mais modifier en Type = "Soumettre" pour voir si elle arrêtait la page rafraîchissante. Y a-t-il autre chose que je puisse essayer. Vous verrez dans l'image "Tanks 1 192.168.100.100 1222" imprimé dans la console est les données d'origine, je l'écrase ensuite avec la méthode postale et remplacez tout avec des caractères vides, puis obtenez le comportement navigué sur 127.0.0.1:5500 J'essaie de prévenir.
Il suffit de mettre retour false code> à la fin de
Cliquez sur CODE> HANDER:
editConnection.addEventListener('click', function (e) {
....
return false;
}
Bonjour a mis à jour le code et modifié le bouton pour être de type "bouton" non soumis. Je l'ai disposé à l'origine, mais j'ai changé pour soumettre pour voir s'il empêchait le comportement. Le problème est toujours en cours. Je comprendrai une image pour montrer le Naviage T à ce que j'essaie d'empêcher