2010-11-05 3 views
0

J'ai un formulaire et un bouton. J'ai besoin de cela quand je clique sur un champ de texte, puis cliquez sur ce bouton particulier, la zone de texte qui a été cliquée en dernier changera sa valeur pour dire "BOUTON A ÉTÉ CLIQUÉ".Connaître la dernière zone de texte cliquée via Javascript

Existe-t-il un moyen via JavaScript de savoir comment je peux connaître la dernière zone de texte sur laquelle j'ai cliqué?

Merci beaucoup à l'avance.

Répondre

2

Vous devez stocker une référence à la zone de texte lorsque vous cliquez dessus. La façon la plus simple de le faire est de créer une variable globale pour la référence. Ensuite, vous mettriez à jour la référence avec l'événement onclick de la zone de texte. Voici un exemple:

HTML:

<input id="myTextBox" type="text" onclick="updateCurText(this);"> 
<input type="button" value="click me" onclick="updateText();"> 

JavaScript:

var currentTextBox = ''; 

function updateCurText(ele) { 
    currentTextBox = ele.id; 
} 

function updateText() { 
    document.getElementById(currentTextBox).value = 'BUTTON HAS BEEN CLICKED'; 
} 

Live example.

0

jsumners est correct, mais je recommande sans doute d'éviter les variables globales, et si vous êtes en utilisant quelque chose comme jQuery vous avez encapsulé beaucoup de la logique dans un seul fichier:

$(function() { 
    var lastBox = false, formSelector = "form.myClass"; 
    // Change events 
    $(formSelector + " input[type='text']").click(function() { 
    lastBox = this; 
    }); 
    // Button click 
    $(formSelector + " button").click(function() { 
    if (lastBox) 
     $(lastBox).val("BUTTON HAS BEEN CLICKED"); 
    }); 
}); 

live

Questions connexes