В принципе это может работать, но ваш синтаксис неправильный. Вы хотите:
success: function() {
$.ajax({...});
}
и изменить:
error: $("#updates").html("<b>Name doesn't exist.</b>");
до:
error: function() {
$("#updates").html("<b>Name doesn't exist.</b>");
}
То, что вы сделали выше, - это присвоение объекта jquery атрибутам success и error (анонимного объекта). Это не сработает. Вам нужно назначить функцию, которая делает эти вызовы jquery. Также измените:
data: "name=" + name,
до
data: {
name: name
},
В противном случае это один запрос ajax за другим.
То, на что вы обычно должны обращать внимание, это попытки сделать слишком много одновременных Ajax-запросов, так как браузеры имеют (как правило, довольно низкие) ограничения на количество запросов к одному домену (например, IE, по крайней мере, определенные версии, имеет ограничение 2). В вашем случае запросы являются последовательными, и обработчик успеха для одного не имеет ничего особенного, препятствующего другому запросу.
Возможно, вы захотите обернуть часть этого в именованную функцию, чтобы сделать код более читабельным.