2012-08-11 16 views
14

Tengo el siguiente código javascript:enchufe Javascript en Noty da error

function delete_draft(id, name) { 
    var text = 'Are you sure you want to delete "' + name + '"?'; 
    alert(id + name) 
    var noty = noty({ 
     text: text, 
     buttons: [ 
     {addClass: 'btn btn-primary', text: 'Yes', onClick: function($noty) { 

      // this = button element 
      // $noty = $noty element 

      $noty.close(); 
      $.post('/ajax/drafts/delete', {id:id}, function(data) { 
       document.location.reload(true); 
      }); 
     } 
     }, 
     {addClass: 'btn btn-danger', text: 'Cancel', onClick: function($noty) { 
      $noty.close(); 
     } 
     } 
    ]}); 
} 

Cuando corro del cónsul delete_draft(6, "this is it") me sale este error

TypeError: undefined is not a function 
arguments: Array[1] 
get message: function() { [native code] } 
get stack: function() { [native code] } 
set message: function() { [native code] } 
set stack: function() { [native code] } 
type: "called_non_callable" 
__proto__: Error 

¿Cómo puedo solucionar este problema? El sitio web de Noty es http://needim.github.com/noty/ Si crees que debería funcionar, comenta.

+0

¿Qué es 'noty'? en el código 'var noty = noty' noty ya que la función no está definida. Puede ser que necesites 'var noty = function ('? – Vsevolod

+0

@Vsevolod Es por eso que puse un enlace al sitio noty en el bottum –

+0

@ "Mike G" No puedo abrir tu enlace :-(Cómo enchufas la nota. js en tu html? – Vsevolod

Respuesta

25

Acabo de encontrarme con este problema. Resulta que el nombre de la variable noty es el mismo que el nombre de la función exportada noty.

var n = noty({text: 'testing 123'}); 

Simplemente cambiando la variable name lo arregla por mí.

+1

Muchas gracias por este! –

+0

Gracias, me salvó unos minutos :) –

+0

En la página principal de noty ponen la muestra var noty = noty ({... muchas gracias !!!! –

4

Además de cambiar el nombre de la variable , asegúrese de incluir el archivo js de diseño. El valor predeterminado es superior, por lo que si no está especificado en las opciones, deberá incluir noty/layouts/top.js. Si especifica cualquier otro diseño, incluya los archivos js de diseño apropiados.

Cuestiones relacionadas