Enlace de Formulario HTML/JS [duplicar]

0

Pregunta

Actualmente estoy tratando de hacer un programa en el que introduce un link a un formulario HTML y cuando usted haga clic en un botón que envía a ese enlace. Sin embargo, cuando hago clic en el botón de la página sólo borra el formulario. Soy un Python nativo y un novato en HTML/JS por lo que la forma en que estoy estructurando mi código puede ser por eso:

<form>
    <input type="url" id="link" placeholder="Enter link of website:" required>
    <br>
    <button class="outline" id="open">Create gate</button>
    </form>
    <script type="text/javascript">
        document.getElementById("open").onclick = () => 
        location.assign(String(document.getElementById("link").value));
    </script> </form>
html javascript
2021-11-24 05:36:02
2

Mejor respuesta

1

Desde entonces, se utiliza una forma. Su Botón

<button class="outline" id="open">Create gate</button>

está actuando como forma de botón de enviar y, por tanto, se actualiza la página antes de ejecutar el location.assign() método. Hay muchas maneras de solucionar esto.

  1. Una forma sencilla es exclusivamente decirle al navegador que este botón no está el botón de enviar, podemos hacerlo mediante el uso de type="button" atributo en nuestro botón.

    Crear la puerta

  2. Puede utilizar e.preventDefault() en el formulario a presentar para detener la actualización de la página.

De intentar el siguiente código:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Location Object</title>
</head>
<body>
    <form>
        <input type="url" id="link" placeholder="Enter link of website:" required>
        <br>
        <button class="outline" id="open">Create gate</button>
    </form>
    <script type="text/javascript">
        document.getElementById("open").addEventListener('click', (e) => {
             e.preventDefault();
            location.assign(String(document.getElementById("link").value));
        });
       
    </script>
    </form>
</body>
</html>

2021-11-24 05:52:15
0

Su código, exactamente como siempre, se pega en un mínimo de HTML5 boilerplate plantilla, trabaja en la Textastic editor de código y en Safari corriendo en localhost.

Tal vez algunas otras JavaScript en las inmediaciones de su detector de eventos está rompiendo la función de flecha. Tal vez el horquillado de la sentencia de función podría ayudar?

2021-11-24 05:48:39

En otros idiomas

Esta página está en otros idiomas

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Slovenský
..................................................................................................................