Tengo algunos problemas con la tecla Intro que activa una actualización de la página cada vez que se ingresa un formulario.

El siguiente código no actualiza la página si se presiona enter y si no se ingresa texto en el área de texto (#input), pero actualizará la página si se presiona enter y hay entrada en #input OR si el cursor está en el área de texto No estoy seguro de qué lo desencadena, ya que #submit es un botón normal.

<div id="forms" class="container">
            <form>
                Enter your verb here in plain (dictionary) form:
                <input type="text" class="input-sm" id="input"></input>
                <div class="radio">
                    <label>
                        <input type="radio" name="input-method" value="Hiragana" checked />Radio 1
                    </label>
                </div>
                <div class="radio">
                    <label>
                        <input type="radio" name="input-method" value="Romaji" />Radio 2
                    </label>
                </div>
                <input type="button" class="btn btn-default" id="submit" value="Submit">
                </input
            </form>
        </div>

Estoy tratando de resolver el problema, pero necesito ayuda al respecto. ¡Cualquier sugerencia sera apreciada!

6
cardboardtheory 2 sep. 2014 a las 08:15

4 respuestas

La mejor respuesta

Puedes agregar el siguiente script al final del cuerpo

<script>
        $("form").submit(function (e) {
            e.preventDefault();
            alert("call some function here");
        });
</script>

O simplemente puedes poner tu etiqueta de formulario de esta manera

<form onsubmit="return false">

De cualquier manera, deberá escribir un onClick = "SOMEFUNCTION ()" en la entrada

También hay un error con una etiqueta adicional / botón ... elimine eso y en su lugar use

<input type="button" class="btn btn-default" id="submit" value="Conjugate" />

Tenga en cuenta la barra final

9
Amol 2 sep. 2014 a las 04:30

Simplemente cambia tu html:

<div id="forms" class="container">
        <form action="javascript:void(-1)">
            Enter your verb here in plain (dictionary) form:
            ....

Jsfiddle aquí - funciona como un encanto

4
Axel Amthor 2 sep. 2014 a las 04:31

Tiene un error de sintaxis en sus códigos html:

<input type="button" class="btn btn-default" id="submit" value="Submit">
            </button>

Cámbielo a esto:

 <button type="button" class="btn btn-default" id="submit" value="Submit">
            </button>

Además, debe usar Javascript / jquery para enviar su formulario para evitar actualizar toda su página

-1
Super Hornet 2 sep. 2014 a las 04:29

Sitio : e.preventDefault(); dentro de la función de pulsación de teclas

-1
AgeDeO 17 dic. 2019 a las 13:31