2009-05-28 2 views
0

In dem Wikipedia-Eintrag Dezente JavaScript gerendert gibt es ein Beispiel von aufdringlichen JavaScript:unaufdringlicher Javascript

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

Die Lösung ist folgende:

<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. 
} 

Gibt es eine Möglichkeit, das erste Codebeispiel zu erzeugen, von der Sekunde? Mit anderen Worten, ist es möglich, den HTML-Code einer Seite zu "rendern", nachdem JavaScript darauf reagiert hat?

+0

Können Sie genauer erklären, was Sie zu tun versuchen? Ich bin mir nicht sicher, was Sie meinen, indem Sie den HTML-Code "rendern". –

+0

Ich bin auch verwirrt. Die zwei Beispiele sind funktional äquivalent. Was versuchst du zu machen? – Chuck

Antwort

1

JavaScript kann verwendet werden, um HTML zu rendern (Elemente zum DOM hinzufügen) und dies ist im Wesentlichen das, was die Lösung tut. Wenn Sie jedoch die Quelle der Seite anzeigen, nachdem das Ereignis hinzugefügt wurde, werden Sie es nicht sehen, da Browser nur das unveränderte DOM anzeigen. Wenn Sie das aktualisierte DOM durchsuchen möchten, laden Sie Firebug für Firefox herunter. Ich kann dieses Tool nicht genug empfehlen!

+0

Ja danke! Du hast mir erklärt, was ich perfekt sagen wollte. – hekevintran

+0

Die FF-Erweiterung der Web Developer-Symbolleiste hat auch eine nette Option zum Anzeigen der generierten Quelle https://addons.mozilla.org/en-US/firefox/addon/60 –

Verwandte Themen