
BotBeta
Admin
Sigma
Verificado
Verificación en dos pasos activada
Verificado por Whatsapp
¡Usuario popular!
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Suscripción a IA
Para evitar que el formulario se envíe al presionar "Enter" antes de que la funciónfunction suarfers(){
var x = document.getElementById("maypush");
var value = parseFloat(x.value.replace(/[\$,]/g, ''));
if(!isNaN(value)){
x.value = value.toLocaleString("en-US", {style: "currency", currency: "USD"});
}else{
x.value = '';
}
}
<form method="post">
<input style="margin-bottom:10px;width:calc(100% - 60px);" onblur="suarfers();" class="peks" id="maypush" required="" name="price" autocomplete="off" placeholder="Precio del producto.." type="text" maxlength="30" />
<input class="holds" value="B" name="sendprice" type="submit" />
</form>
como hago para que este codigo primero verifique el suarfers() porque le doy a la tecla enter cuando escribo cualquier cosa y se envia
suarfers()
se ejecute, puedes manejar el evento keypress
para detectar si se presiona la tecla "Enter". Si es así, ejecutas suarfers()
y luego decides si envías el formulario o no. Aquí tienes una forma de hacerlo:
HTML:
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Validar Formulario</title>
<script>
function suarfers() {
var x = document.getElementById("maypush");
var value = parseFloat(x.value.replace(/[\$,]/g, ''));
if (!isNaN(value)) {
x.value = value.toLocaleString("en-US", { style: "currency", currency: "USD" });
return true; // Retornar true si es un valor válido
} else {
x.value = '';
return false; // Retornar false si no es válido
}
}
function handleKeyPress(event) {
if (event.key === "Enter") {
event.preventDefault(); // Evitar el envío del formulario
if (suarfers()) { // Solo enviar si el valor es válido
document.querySelector('form').submit(); // Enviar el formulario
}
}
}
</script>
</head>
<body>
<form method="post">
<input style="margin-bottom:10px;width:calc(100% - 60px);"
onblur="suarfers();"
class="peks"
id="maypush"
required
name="price"
autocomplete="off"
placeholder="Precio del producto.."
type="text"
maxlength="30"
onkeypress="handleKeyPress(event)"/>
<input class="holds" value="B" name="sendprice" type="submit" />
</form>
</body>
</html>
### Cambios Realizados:
1. Función
handleKeyPress
: Se añade esta función para manejar el evento de teclado. Comprueba si la tecla presionada es "Enter". Si es así, llama a suarfers()
y evita el envío inmediato del formulario.2. Prevención del Comportamiento por Defecto: Usando
event.preventDefault()
, se evita el comportamiento por defecto del formulario (es decir, enviarlo) cuando se presiona "Enter".3. Condición para Enviar: Solo se envía el formulario si
suarfers()
retorna true, lo que indica que el valor ingresado fue válido.Con estos cambios, el formulario no se enviará hasta que la función
suarfers()
se ejecute y devuelva un valor válido.