2009-08-02 5 views
0

En utilisant le Dojo Toolkit J'essaie de transmettre la valeur de la zone de texte à une alerte lors d'un clic. J'ai essayé attr pour obtenir de la valeur dans la fonction helloPressed(), mais je ne suis même pas capable de réinitialiser la valeur de la zone de texte quand j'ai essayé dans l'autre sens.Utilisation de la valeur de passage Dojo de la zone de texte pour alerter sur le clic

Je suis nouveau dans le monde de la programmation.

function helloPressed() 
{ 
    var gt = dojo.attr("htext1","value"); 
    alert(gt).show(); 
} 

<input dojoType="dijit.form.textbox" name="name1" widgetId="htext1" 
dojoType="dijit.form.TextBox" intermediateChanges="true" value="hello" 
trim="true" propercase="true" /></input> 
<button dojoType="Button" widgetId="helloButton" 
onClick="helloPressed()">Click !</button> 

J'ai essayé d'autres combinaisons aussi bien, mais sans succès :(

Répondre

0

Ajouter id="htext1" parmi les attributs de votre balise input;. dojo.attr(somestring, ...) recherche un noeud DOM avec id == somestring, pas un avec widgetId == somestring

BTW, utilisez seulement alert(gt) - que .show() est juste une erreur Je recommande d'utiliser le navigateur firefox avec le plugin firebug pour le développement web, de cette façon, vous verrez les messages d'erreur appropriés dans la console firebug pour vous aider d Développez HTML, CSS, Javascript, etc.

+0

merci Alex, j'ai essayé ceci var ht = dojo.byId ('htext1'); \t ht.dojo.attr ("nouvelle valeur"); \t alert (gt) .show(); et var ht = dojo.widged.byId ('htext1'); \t ht.dojo.attr ("bulletin de nouvelles"); \t mais rien ne se passe –

+0

Désolé, raté la deuxième partie. Je vais essayer firebug maintenant. Merci encore de m'avoir aidé –

+0

Avez-vous ajouté 'id = "htext1"' à la balise d'entrée? C'est la partie cruciale de ma réponse et je ne vous vois pas le reconnaître! –

0

Vous pouvez essayer de faire quelque chose comme ça:

var gt = dijit.byId("htext1").attr("value"); 
alert(gt); 

dijit.byId() récupère un objet widget, et vous pouvez appeler attr() là-dessus.

Je suppose que alert() est une fonction JavaScript standard. Si cela est correct, vous n'avez pas besoin (et ne pouvez en fait pas) utiliser les propriétés nay.

+0

J'ai remarqué que si j'essaye de récupérer un objet de widget, l'alerte cesse de répondre. Si je le commente et que je passe juste une variable à l'alerte cela fonctionne. J'ai essayé votre code, mais ça ne fait rien. Que faire si je veux juste changer la valeur de la zone de texte en cliquant? –

+0

C'est bizarre --- Je ne peux pas imaginer comment travailler avec un widget peut interférer avec les alertes. Pouvez-vous poster un exemple minimaliste quelque part? –

Questions connexes