Je suis devenu fou en essayant de comprendre comment faire ce travail. Code ressemble à peu près comme:Impossible de mettre en valeur le champ de saisie dans DOM chargé avec l'appel ajax
function onDropDownChanged() {
$("#updatePanel").load(
"myUrl",
{ id: $("#myDropDown option:selected").val() },
onPanelLoaded
);
}
function onPanelLoaded() {
$("#theTextInput").focus();
}
$(document).ready(function() {
$("#myDropDown").change(onDropDownChanged);
}
La première fois que le gestionnaire de changement est tiré, il fait la mise à jour ajax, et la zone de texte se concentre. Toutefois, lors des modifications suivantes, il continue à effectuer la mise à jour ajax, mais la zone de texte n'est jamais mise au point de nouveau.
J'ai trouvé que si dans onDropDownChanged
, j'ai ajouté $("#updatePanel").empty()
avant l'appel ajax, la zone de texte serait toujours mise au point. Le problème avec cela est la forme entière disparaît pendant une seconde, provoquant un flash laid. Étant donné que ajax est supposé rendre les choses comme ça sympas, ce n'est pas une solution de contournement que je veux utiliser.
Pourriez-vous publier le bit HTML sur lequel vous agissez, ainsi que le code HTML chargé par l'appel ajax? –