Estaba buscando una manera de hacer esto, obtuve algunos scripts, pero ninguno de ellos funciona para mí.
Cuando presiono enter en mis cuadros de texto, no debería hacer nada.
He probado algunos scripts de JavaScript y jQuery, pero nada me funciona.
$(document).ready(function() {
$('#comment').keypress(function(event) {
if (event.keyCode == 13) {
event.preventDefault();
}
});
$('#comment').keyup(function() {
var txt = $('#comment').val();
$('#comment').val(txt.replace(/[\n\r]+/g, " "));
});
});
Esto funciona para mí.
$('textarea').keypress(function(event) {
if (event.keyCode == 13) {
event.preventDefault();
}
});
Su segunda pieza parece estar diseñada para capturar personas pegando en varias líneas. En ese caso, debe vincularlo a keyup paste
.
-
está funcionando en violín, pero si pongo ese script en mi local, no funciona.
– usuario648276
30 de marzo de 2011 a las 6:56
-
@usuario Es posible que tenga un error en su JavaScript, habilite su consola y busque cualquier error.
– Alex
30 de marzo de 2011 a las 6:57
-
Debe usar $(‘textarea’).on(‘keypress’, function (){blah;}); para que pueda eliminarlo mediante programación si es necesario usando .off()
– MetalPhoenix
12 de agosto de 2015 a las 16:37
-
@MetalPhoenix El código que tengo se traduce al
on()
método. Determinar cómo escribir el código depende de su propósito; en algunos casos, nunca es necesario desvincularlo, lo que significa que el código anterior está bien. Si no fuera el caso, simplemente lo escribirías de otra manera.– Alex
13 de agosto de 2015 a las 23:08
-
Estoy de acuerdo, pero dado que son, esencialmente, lo mismo pero con la visión de futuro de poder desvincularse, ¿por qué? no lo haría ¿haces eso? ¿Hay alguna diferencia de rendimiento?
– MetalPhoenix
14 de agosto de 2015 a las 13:17
Si desea evitar la tecla Intro para un cuadro de texto específico, use js en línea.
<input type="text" onkeydown="return (event.keyCode!=13);"/>
Detiene al usuario para presionar Ingresar en Textbox & aquí vuelvo falso que impiden enviar el formulario.
$(document).ready(function()
{
// Stop user to press enter in textbox
$("input:text").keypress(function(event) {
if (event.keyCode == 13) {
event.preventDefault();
return false;
}
});
});
polarblau
Funciona para mi:
$('#comment').keypress(function(event) {
if (event.which == 13) {
event.preventDefault();
}
});
ACTUALIZAR
En caso de que intente evitar el envío del formulario principal en lugar de un salto de línea (que solo tiene sentido, si está utilizando un textarea
¿lo que aparentemente no está haciendo?) es posible que desee consultar esta pregunta: deshabilite la tecla Intro en un formulario con jquery
usuario1853583
Encontré esta solución combinada en
http://www.askmkhize.me/how-can-i-disable-the-enter-key-on-my-textarea.html
$('textarea').keypress(function(event) {
if ((event.keyCode || event.which) == 13) {
event.preventDefault();
return false;
}
});
$('textarea').keyup(function() {
var keyed = $(this).val().replace(/\n/g, '<br/>');
$(this).html(keyed);
});
Nikunj Dhimar
Si desea deshabilitar para todo tipo de cuadro de texto de búsqueda. Déles a todos una clase y use esa clase como ‘search_box’ a continuación.
//prevent submission of forms when pressing Enter key in a text input
$(document).on('keypress', '.inner_search_box', function (e) {
if (e.which == 13) e.preventDefault();
});
¡salud! 🙂
Variación de la solución de Alex, pero utilizando código javascript sin formato. Se puede utilizar para cualquier tecla. Prevenir por defecto, detiene el envío de formularios. Esto es lo que está funcionando para mí.
<input type="text" placeholder = "0.0" onkeydown = "noareturnkey(event)">
Luego el código javascript simple:
function noreturnkey(event) {
var x = event.which || event.keyCode;
if (x == '13')
event.preventDefault();
}