Manfly
Manfly

Reputation: 3

Submit still going after cancel Confirm()

I'm working on a code that deletes a record from a table, the button to confirm the action is directed to the following js .

<script type = "text/JavaScript"> 
function pregunta(){ 
if (confirm('¿Estas seguro de realizar esta acción')){ 
   document.myForm.submit(); 
} 
} 
</script>

The problem is that when you click the button to cancel the form is Submited anyway

 <form role="form" method="get" action="index.asp" id="myForm"    name="myForm">
 <div class="container">
    <div class="well well-sm">
      <div class="container-fluid">
        <div class="row">
          <div class="col-md-11"><h2>Aprobaciones Subcontrato</h2></div>
          <div class="col-md-1"><a href="index.asp"><img src="images/house.png" style="width:42px;height:42px;border:0"></a></div>
        </div>          
        <p>En el siguiente recuadro ingrese el número del subcontrato a revisar y el numero de ticket.</p>
        <div class="form-group">
          <div class="row">
            <div class="col-md-6">
              <label for="txtSubcontrato">Subcontrato:</label>
              <input type="string" class="form-control" id="txtSubContrato" placeholder="Ingrese Subcontrato" name="txtSubContrato" value="<%= txtSubContrato %>" min="1" required>
            </div>
            <div class="col-md-4">
              <label for="ticket">Ticket:</label> 
              <input type="number" class="form-control" id="iTicket" placeholder="Ingrese Ticket" name="iTicket" value="<%= iTicket %>" min="1" required>
            </div>
          </div>
        </div>
        <button type="submit" form="myForm" class="btn btn-default" name="btnBuscar" id="btnBuscar">Buscar</button>
      </div>
    </div>
  </div>         
  <%     
    <!-- Eliminar y Respaldar--> 
    If (Request.QueryString("btnEliminar") = "Respaldar y Eliminar") Then
    Response.Write ("delete")
<!-- botonera -->
      Response.Write       "<div class='col-md-6'>"
      If iExiste = 1 Then
      If (ap=1 and asu=1 and aso=1 and Cstr(rsSub("status_sub"))="A" and Cstr(rsMonto("montoavanzado"))=0) Then
        Response.Write       "<button class='btn btn-default' onclick='pregunta()' id='btnEliminar' value='Respaldar y Eliminar' name='btnEliminar' readonly/> 111" 
      ElseIf (ap=1 and asu = 1 and aso = 0 and Cstr(rsSub("status_sub"))="I" and Cstr(rsMonto("montoavanzado"))=0) Then 
        Response.Write       "<button class='btn btn-default' onclick='pregunta()' id='btnEliminar' value='Respaldar y Eliminar' name='btnEliminar' readonly/> 110"
      ElseIf (ap=1 and asu = 0 and aso = 0 and Cstr(rsSub("status_sub"))="I" and Cstr(rsMonto("montoavanzado"))=0) Then  
        Response.Write       "<button class='btn btn-default' onclick='pregunta()' id='btnEliminar' value='Respaldar y Eliminar' name='btnEliminar' readonly/> 100"
      ElseIf (ap=0 and asu = 0 and aso = 0 and Cstr(rsSub("status_sub"))="I" and Cstr(rsMonto("montoavanzado"))=0) Then 
        Response.Write       "<button class='btn btn-default' onclick='pregunta()' id='btnEliminar' value='Respaldar y Eliminar' name='btnEliminar' readonly/>000"
      Else 
        Response.Write       "<button type='button' class='btn btn-default disabled'> Respaldar y Eliminar</button>"
      End If 
      Else Response.Write       "<button type='button' class='btn btn-default disabled'> Respaldar y Eliminar</button>"
      End If
      Response.Write       "</div>"  
      Response.Write     "</div>"
      Response.Write   "</div>"
      Response.Write "</div>"

as you can see the page, first request a number to search the database, using a form , then load the data and provides the option to remove

Upvotes: 0

Views: 47

Answers (1)

user4615488
user4615488

Reputation:

you should use return false on the onsubmit event of the form in order to prevent the submit

you can do somenthing like

onsubmit="return callIReallySubmit();"

function callIReallySubmit() { do your logic to test if you can submit.. return canSubmitOrNot; }

ERRATA: the problem is actually the type="submit" on your button, change it to type='button'

Upvotes: 1

Related Questions