Ваша проблема в том, что этот бит кода
jq(function() {
jq.post("/ajax.htm",
{ inputNumber1: jq("#inputNumber1").val(),
inputNumber2: jq("#inputNumber2").val() },
function(data){
// data contains the result
// Assign result to the sum id
alert("inside jq function");
jq("#sum").replaceWith('<span id="sum">'+ data + '</span>');
});
});
находится вне вызова "add".По сути, ваш код просто говорит функции добавления зарегистрировать обработчик событий, готовый для DOM.Я думаю, что вы смешали несколько концепций.Попробуйте этот код
function add()
{
alert("inside add");
alert("inside jq function");
jq.post("/ajax.htm",
{ inputNumber1: jq("#inputNumber1").val(),
inputNumber2: jq("#inputNumber2").val() },
function(data){
// data contains the result
// Assign result to the sum id
jq("#sum").replaceWith('<span id="sum">'+ data + '</span>');
});
}
Обновление: попробуйте полную версию публикации, которая также позволяет вам указать обработчик ошибок.Ваш запрос может быть ошибочным, что означает, что ваш обратный вызов не будет вызван.
function add()
{
alert("inside add");
jq.ajax({
url:"/ajax.htm",
success:function(){ inputNumber1: jq("#inputNumber1").val(),
inputNumber2: jq("#inputNumber2").val() },
function(data){
// data contains the result
// Assign result to the sum id
jq("#sum").replaceWith('<span id="sum">'+ data + '</span>');
}
error:function(jqXHR, textStatus, errorThrown){
alert("error");
alert(textStatus);
}
});
}