#jquery #forms
#jquery #формы
Вопрос:
Я вызываю функцию стороннего API в событии нажатия кнопки.
Смотрите ниже, tp.Callфункция, которая находится при нажатии кнопки, только при успешном завершении я хочу сохранить res.myNum в скрытом поле и отправить форму.
Часть, в которой я запутался, заключается в том, где написать или расширить (.success(functionOne)), чтобы у меня был код для отправки формы.
$('[button1]').on('click', function () {
var getdatafrom = {
param1: $('input:text').val()
};
tp.callFunction(getdatafrom)
.success(functionOne)
.error(functionFail);
return false;
});
function functionOne(res) {
alert("Sample: " res.myNum);
};
function functionFail(res) {
alert("Error: " res.errormessage);
};
Я знаю, что мы можем сделать это в .ajax post, как показано ниже
$.ajax({
data: { 'field1' : email },
type: 'GET',
dataType: 'json',
url: 'url.php',
beforeSend : function(){ },
success: function(answer){
if(answer.error === false){
$('#greatForm').attr('validated',true);
$('#greatForm').submit();
}
if(answer.error === true){
//display the errors
}
}
});
Комментарии:
1. Если вы знаете, как это сделать в анонимной функции, разве это не будет точно так же в именованной функции?
Ответ №1:
если вы хотите сохранить только значение и отправить форму в функции успеха, она должна быть такой, как показано ниже,
function functionOne(res) {
$('#idOfYourHiddenField').val(res.myNum);
$('#greatForm').submit();
};
Я уверен, что функция functionOne вызывается правильно после успешного выполнения вашего стороннего API.