2013-03-28 8 views
1

Я пытаюсь вызвать функцию внутри события нажатия кнопки.Проблема с вызовом функции

$('#btn_save').button().click(function(){ 
    executeStatement(); 
}); 

$.fn.executeStatement = function(){ 
    alert("Here!!!"); 
    $.ajax({          
     url: 'api.php',       
     data: sqlStatement,     

     dataType: 'json',    
     success: function(data)   
     { 
     alert("Success!!!"); 
     } 
    }); 
    } 

Проблема заключается в том, что она никогда не вызывается, потому что это не определено в соответствии с отладчиком: Uncaught ReferenceError: executeStatement is not defined

Может кто-нибудь дать мне подсказку, что это не так? Заранее спасибо

+0

'$ .executeStatement();' –

ответ

5

Если вы не пытаетесь сделать плагин JQuery (?, Которые я не думаю, что вы), измените объявление функции для:

function executeStatement(){ 
    //code here 
} 
+0

Это работает. Мне просто любопытно, что я попытался создать еще один файл js и объявил этот метод внутри. Затем я попытался вызвать его, и он снова не работает (неопределенный). (кстати, новый js-файл импортируется ..). Как это сделать, поэтому я могу назвать это и оттуда? – Husky

+0

@Husky Мне нужно будет увидеть вашу разметку HTML и содержимое обоих js-файлов, в противном случае это будет просто догадываться. Возможно, задайте новый вопрос, так как это не связано с вопросом объявления функции? – Curt

+0

Я уже понял, но спасибо :) – Husky

3

Просто остановиться на предыдущем ответе, $ .fn вроде как пространство имен jquery. Все, что начинается с $. является частью jquery. Вы действительно можете добавить функциональность в jquery, добавив функции в $ .fn, но это, вероятно, не то, что вы хотите.

Сначала я тоже это сбивал с толку, поэтому я подумал, что попробую ясности.

+0

хорошее разъяснение – iAmClownShoe

3

Ответ Курта полностью верен. Но я думал, что добавлю.

function executeStatement(){} 

Это называется объявлением функции и будет работать в этом случае.

var executeStatement = function(){}; 

Это выражение называется выражением функции и также будет работать в этом сценарии.

Смежные вопросы