2009-05-28 7 views
0

Dans l'entrée wikipedia Unobtrusive JavaScript il est un exemple de JavaScript importun:javascript Unobtrusive rendu

<input type="text" name="date" onchange="validateDate(this);" /> 

La solution est la suivante:

<input type="text" name="date" /> 

window.onload = function(){ //Wait for the page to load. 
    var inputs = document.getElementsByTagName('input'); 
    for(var i=0,l=inputs.length;i<l;i++){ 
     input = inputs[i]; 
     if(input.name && input.name=='date'){ 
      input.onchange = function(){ 
       validateDate(); 
      } 
     } 
    } 
}; 

function validateDate(){ 
    //Do something when the content of the 'input' element with the name 'date' is changed. 
} 

est-il un moyen de générer le premier exemple de code à partir de la seconde? En d'autres termes, est-il possible de "rendre" le code HTML d'une page après que JavaScript ait agi dessus?

+0

pouvez-vous expliquer plus en détail ce que vous essayez de faire? Je ne suis pas sûr de ce que vous voulez dire par "rendre" le code HTML. –

+0

Je suis confus aussi. Les deux exemples sont fonctionnellement équivalents. Qu'essayez-vous de faire? – Chuck

Répondre

1

JavaScript peut être utilisé pour rendre HTML (ajouter des éléments au DOM) et c'est essentiellement ce que fait la solution. Toutefois, si vous affichez la source de la page après que l'événement onchange a été ajouté, vous ne le verrez pas, car les navigateurs affichent uniquement le DOM non modifié.

Si vous souhaitez parcourir le DOM mis à jour, téléchargez Firebug pour Firefox. Je ne peux pas recommander cet outil assez!

+0

Oui merci! Vous avez expliqué ce que j'essayais de dire parfaitement. – hekevintran

+0

L'extension FF de la barre d'outils Web Developer offre également une option intéressante pour "Voir la source générée" https://addons.mozilla.org/en-US/firefox/addon/60 –