2010-12-10 23 views
0

J'utilise IE8, je veux montrer un formulaire avec un champ de texte comme une boîte de dialogue et montrer le pointeur du curseur dans le champ de texte par défaut.
Cela se produit lorsque l'utilisateur clique sur un lien dans la page Web. Pour cela, j'ai le code JQuery de l'auteur comme ci-dessous. Cela fonctionne très bien dans Firefox mais pas dans IE8 (c'est-à-dire que le curseur n'apparaît pas dans la première zone de texte). Aucune suggestion?JQuery select() problème de fonction dans IE8

$("#show_myform").click(function(event) { 
        $("#myform").dialog({modal : true,draggable : false,resizable : false}); 
        $("#myform :text:eq(0)").select(); 
}); 

Répondre

1

Je crois que vous voulez utiliser le .focus() method et peut-être que vous voulez mettre l'accent à l'ouverture de la boîte de dialogue modale

$("#show_myform").click(function(event) { 
    $("#myform").dialog({ 
    modal : true, 
    draggable : false, 
    resizable : false, 
    open: function(event, ui) { 
     $("#myform :text:eq(0)").focus(); 
    } 
    }); 
}); 
+0

trouvé le prbolem. Voir mon commentaire à la question. Merci quand même. – jgg

2

Une chose importante à garder à l'esprit, est que vous ne devriez pas être recréer votre boîte de dialogue plusieurs fois. (Voir: http://blog.nemikor.com/2009/04/08/basic-usage-of-the-jquery-ui-dialog/ pour une explication plus détaillée) Dans votre code existant, votre objet de dialogue sera recréé chaque fois que vous cliquez sur l'élément show_myform.

$("#myform").dialog({ 
    modal : true, 
    draggable : false, 
    resizable : false, 
    open: function(event, ui) { 
    $("#myform :text:first").focus(); 
    }, 
    autoOpen: false 
}); 

$("#show_myform").click(function(event) { 
    $('#myform').dialog('open'); 
    return false; 
});