У меня есть работа над локальной настройкой (с jquery.1.6.4), но она не работает над установкой dev (jquery.1.3.2).У вас возникли проблемы с отправкой формы и вызовами в очереди событий после асинхронного события
Рассмотрим следующую форму -
<form onsubmit="return validateMacros();">
<input id="formsubmitbutton" type="submit" name="formsubmitbutton" value="Submit" />
</form>
validateMacros();
Обратите внимание на вызов выше.
А следующий Javascript -
jQuery(document).ready(function()
{
$("input#formsubmitbutton").click(preValidateUrls);
function preValidateUrls(evt)
{
evt.preventDefault(); //to prevent form submission until completion of async event
$.ajax({
...
...
success: function(res)
{
$("form#frmBanners").submit(); //This submits the form in case of both versions but in 1.3.2 case, the validateMacros() function is not called
}
});
}
});
function validateMacros()
{
//some logic here - which is not executing in case of jquery.1.3.2
}
Когда jquery.1.6.4 загружен, функция validateMacros()
выполняется после завершения исполнения preValidateUrls()
, которое желательно.
Но когда загружается jquery.1.3.2, validateMacros()
не выполняется вообще и форма просто отправляется.
Как заставить его работать с обеими версиями. Что я делаю не так?
Кроме того, почему вы загрузили более старую версию jQuery? Просто загрузите последнюю версию. –
не могли бы вы рассказать о своем ответе. И мы сейчас не в состоянии обновить до 1.3.2 на производстве, поэтому нужно заставить его работать :( –
@SandeepanNath Проверить мое редактирование –