Boton me actualiza pagina sin querer y no ejecuta función

Iniciado por SrTrp, 14 Agosto 2021, 04:15 AM

0 Miembros y 1 Visitante están viendo este tema.

SrTrp

Hola que tal estoy enviando desde el cliente al servidor pero lo unico que me hace el boton es que me redirecciona a la misma pagina, por un momento pense que era por mis locations pero los comente pensando que era eso pero sigue igual.
Código (javascript) [Seleccionar]

function addercolection{
       if(name_folder.value.length>0 && abrevia_colec.value.length>0 && nombre_colec.value.length>0){                      
   
                       var data = new FormData();                    
                       data.append('folder', name_folder.value);
                       data.append('abrevia', abrevia_colec.value);
                       data.append('nombre', nombre_colec.value);
                       var abreb = abrevia_colec.value;
                      if(abreb.length>=3){
                           $.ajax({
                               data: data ,
                               url: "/administracion/crearColeccion",
                               type: "POST",
                               contentType: false,
                               processData: false,
                               success:
                               function (r) {
                                   if(r=="Se ah creado la colección"){                                                                        
                                       //location.href="subida?vr=true";
console.log('true');
                                   }else{                                        
console.log('ERROR');
                                     //  location.href="subida?vr=false&error="+r;
                                   }
                                   //alert('' + r);

                               }
                           });
                      }else{
                       alert("La abreviatura debe tener como mínimo 3 caracteres");
                      }
                         
}else{
   alert("Por favor no dejes los campos vacíos");
}
   }


Aquí esta mi botón, revise y no tengo ningún formulario en la pagina, solo si tengo otros inputs y botones.
Código (html4strict) [Seleccionar]

<button style="display: initial;background-color: white;color: black;border: 2px solid #4CAF50;" id="add_coleccion" class="btn btn-primary btn-cons " onclick="addercolection();">
                        <span class="btn-label">
                        <i class="glyphicon glyphicon-ok"></i>
                        </span> Crear Colección</button>

3n31ch

#1
Por casualidad tu botón está dentro de un formulario?

Si es así, entonces agrega el atributo type = "button" al botón.

Nos cuentas como te fue.

Nota: No había leido tu código. Recomiendo dejar de usar jquery. javascript nativo es suficiente para realzar todo lo que estás haciendo.




EDITO: Por leer rápido.  no vi lo del formulario.

Prueba actualizar la cache. Cntrl+f5 si estás en google chrome. Quizas esté el js de una versión anterior cargado.

Por otro lado, me llama la atención que no te falle el JS, a la función no le pusiste los paracentesis.

Por lo contrario, si sigue fallando ¿podrías pegar el html completo, para verificar? También puede ser otra función que se esté ejecutando. verifica todo el js.

SrTrp

Gracias gracias amigo ya lo solucione el problema era en el nombre de la funcion me faltaban los () pero ya quedo, hablando de lo que me mencionaste es posible recibir información o enviar al servidor con JS nativo? es que me quede atrás con ajax.

3n31ch