Formulario enviado dos veces usando submit () en keyup

Tenía un código jQuery / HTML similar a este:

<code><form action="/SomeAction" method="post">
  <input id="my-textbox" type="text" placeholder="Write something and press enter to continue..." />
</form>

<script type="text/javascript">
 $(function() {
     $('#my-textbox').keyup(function(e) {
        var $textbox = $(this);
        if ($textbox.val().length > 0 && e.keyCode == 13) {
           $textbox.parent('form').submit();
        }
     });
 });
</script>
</code>

El propósito era enviar automáticamente el formulario cuando el usuario presionó la tecla "Enter". Regularmente uso Firefox, así que todo estaba bien para mí hasta que lo probé en Google Chrome e Internet Explorer.

Cuando presioné la tecla Intro en los navegadores posteriores, a veces obtenía el formulario enviado dos veces. Esto fue fácil de notar porque obtendría entradas duplicadas en mi base de datos y vería dosPOSTs utilizando Fiddler.

Después de algunas pruebas, descubrí que mi problema era el código jQuery, ya que el cuadro de texto se enviaría automáticamente al ingresar sin él, y usar este código produciría un segundoPOST en algunos navegadores

Mis preguntas son:

¿Por qué los navegadores no evitan inteligentemente la segunda publicación de formulario (como lo hizo Firefox en mis pruebas)?

¿Debo esperar este comportamiento en todos los navegadores principales en todas las plataformas?

¿Hay alguna forma de mejorar este código, por lo que realizo el envío con JavaScript, pero no recibo el formulario dos veces?

Respuestas a la pregunta(4)

Su respuesta a la pregunta