[英]why is my form being submitted twice when pressing enter or when using a barcode scanner?
我已經嘗試了所有方法,似乎只有在按 Enter 鍵或使用我想要使用的條形碼掃描儀時,表單才會提交兩次。 單擊“提交按鈕”時我不會發生。 起初我以為我執行了兩次查詢,但事實並非如此。 這是我的代碼:
HTML文件
<form id="formulario_ingreso" class="form-horizontal" onsubmit="return ingresar();" method="POST">
<div class="row">
<div class="col-sm-6">
<div class="form-group">
<div class="controls">
<input id="codigo" type="number" name="codigo" class="form-control" placeholder="Código" autofocus>
</div>
</div>
</div>
<div class="col-sm-6">
<div class="form-group">
<select class="select2 form-control" id="nombre" name="nombre">
<option value="">Nombre (Solo si no existe código)</option>
<?php
while ($row = mysqli_fetch_assoc($perfiles_query)){
echo '<option value="'.$row["id"].'">'.$row["nombres"].' '.$row["apellidos"].'</option>';
}
?>
</select>
</div>
</div>
</div>
<button type="button" class="btn btn-primary" onclick="ingresar()">Ingresar</button>
</form>
腳本文件
<script>
$("#formulario_ingreso").submit(function(e) {
e.preventDefault();
});
</script>
<script>
function ingresar(){
var codigo = $("#codigo").val();
var nombre = $("#nombre").val();
if(codigo){
$.post("evento/ingresar_asistencia.php", { codigo: codigo },
function(data) {
$('#results').html(data);
$('#formulario_ingreso')[0].reset();
});
}else if(nombre){
$.post("evento/ingresar_asistencia.php", { nombre: nombre },
function(data) {
$('#results').html(data);
$('#formulario_ingreso')[0].reset();
});
}
};
</script>
PHP文件
<?php
require_once '../../../config.php';
if(isset($_POST["codigo"])){
$codigo = $_POST["codigo"];
echo $codigo;
$asistencia_query = mysqli_query($link, "INSERT INTO asistencia (id_perfil, id_evento) VALUES (2,1) ");
}
我已經嘗試過你的代碼,但就我而言,當我點擊按鈕時,它是一次性調用ingresar()
函數。
請刪除onsubmit="return ingresar();"
從你的表單標簽。 我認為這是造成問題的
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.