<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ca">
	<id>http://wiki.joanillo.org/index.php?action=history&amp;feed=atom&amp;title=Rec%C3%B3rrer_el_DOM._Formulari_Google_Account</id>
	<title>Recórrer el DOM. Formulari Google Account - Historial de revisió</title>
	<link rel="self" type="application/atom+xml" href="http://wiki.joanillo.org/index.php?action=history&amp;feed=atom&amp;title=Rec%C3%B3rrer_el_DOM._Formulari_Google_Account"/>
	<link rel="alternate" type="text/html" href="http://wiki.joanillo.org/index.php?title=Rec%C3%B3rrer_el_DOM._Formulari_Google_Account&amp;action=history"/>
	<updated>2026-08-30T10:19:25Z</updated>
	<subtitle>Historial de revisió per a aquesta pàgina del wiki</subtitle>
	<generator>MediaWiki 1.34.2</generator>
	<entry>
		<id>http://wiki.joanillo.org/index.php?title=Rec%C3%B3rrer_el_DOM._Formulari_Google_Account&amp;diff=297102&amp;oldid=prev</id>
		<title>Joan: Es crea la pàgina amb «=Introducció=  =Referències=  =Desenvolupament= ==1. Formulari per crear un compte de gmail== 1. El següent enllaç és el formulari per crear un compte de gmail a...».</title>
		<link rel="alternate" type="text/html" href="http://wiki.joanillo.org/index.php?title=Rec%C3%B3rrer_el_DOM._Formulari_Google_Account&amp;diff=297102&amp;oldid=prev"/>
		<updated>2020-11-17T17:38:51Z</updated>

		<summary type="html">&lt;p&gt;Es crea la pàgina amb «=Introducció=  =Referències=  =Desenvolupament= ==1. Formulari per crear un compte de gmail== 1. El següent enllaç és el formulari per crear un compte de gmail a...».&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Pàgina nova&lt;/b&gt;&lt;/p&gt;&lt;div&gt;=Introducció=&lt;br /&gt;
&lt;br /&gt;
=Referències=&lt;br /&gt;
&lt;br /&gt;
=Desenvolupament=&lt;br /&gt;
==1. Formulari per crear un compte de gmail==&lt;br /&gt;
1. El següent enllaç és el formulari per crear un compte de gmail a Google.&lt;br /&gt;
*https://accounts.google.com/SignUp?service=mail&amp;amp;continue=https%3A%2F%2Fmail.google.com%2Fmail%2F&amp;amp;ltmpl=default&amp;amp;hl=ca&lt;br /&gt;
Copia el codi font. Localitza l'etiqueta ''&amp;lt;form&amp;gt;'' i ''&amp;lt;/form&amp;gt;'' i determina quants formularis hi ha. Inspecciona el codi font i localitza les diferents parts del formulari. Tabula correctament tot el formulari (és una mica lio, però és aclaridor, hi ha moltes etiquetes). Enmig de totes aquestes etiquetes trobarem els ''INPUT'' que ens interessen.&lt;br /&gt;
&lt;br /&gt;
2. Mitjançant la col·lecció ''forms'', troba tots els elements del formulari (és a dir, els INPUT). Fixa't que el botó de submit no forma part del formulari.&lt;br /&gt;
Llista tots els elements del formulari, i les propietats importants.&lt;br /&gt;
&lt;br /&gt;
3. Cerca tots els fills del formulari. Amb ''childNodes'' veuràs que només penja un fill del formulari. És correcte aquest resultat, no? (mira el formulari correctament tabulat)&lt;br /&gt;
&lt;br /&gt;
4. Si volem recórrer tots els nodes que pengen del formulari, hem d'endinsar-nos en tot l'arbre del formulari, de manera recursiva. Per fer-ho, podem utilitzar el codi que hem trobat a:&lt;br /&gt;
*https://www.javascriptcookbook.com/article/traversing-dom-subtrees-with-a-recursive-walk-the-dom-function/&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
function walkTheDOM(node, func) {&lt;br /&gt;
    func(node);&lt;br /&gt;
    node = node.firstChild;&lt;br /&gt;
    while (node) {&lt;br /&gt;
        walkTheDOM(node, func);&lt;br /&gt;
        node = node.nextSibling;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Example usage: Process all Text nodes on the page&lt;br /&gt;
walkTheDOM(document.body, function (node) {&lt;br /&gt;
    if (node.nodeType === 3) { // Is it a Text node?&lt;br /&gt;
        var text = node.data.trim();&lt;br /&gt;
        if (text.length &amp;gt; 0) { // Does it have non white-space text content?&lt;br /&gt;
            // process text&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
});&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cerca tots els nodes que pengen del formulari.&lt;br /&gt;
&lt;br /&gt;
5. Un cop els tens tots, ara pots filtrar només els que ens interessen: els INPUT.&lt;br /&gt;
===solució===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
forms = document.getElementsByTagName(&amp;quot;form&amp;quot;);&lt;br /&gt;
console.log(&amp;quot;Número de formularis: &amp;quot; + forms.length);&lt;br /&gt;
&lt;br /&gt;
console.log(&amp;quot;Número d'elements del formulari:&amp;quot; + forms[0].elements.length);&lt;br /&gt;
&lt;br /&gt;
for (i=0;i&amp;lt;forms[0].elements.length;i++)           &lt;br /&gt;
{&lt;br /&gt;
	console.log(forms[0].elements[i].name);&lt;br /&gt;
	console.log(forms[0].elements[i].tagName);&lt;br /&gt;
	console.log(forms[0].elements[i].type);&lt;br /&gt;
	console.log(forms[0].elements[i].value);&lt;br /&gt;
	console.log(&amp;quot;&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
console.log(&amp;quot;==================================&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
var google_form = document.getElementsByTagName(&amp;quot;form&amp;quot;);&lt;br /&gt;
console.log(&amp;quot;Número de formularis: &amp;quot; + google_form.length);&lt;br /&gt;
//només té un fill&lt;br /&gt;
console.log(&amp;quot;Número de fills: &amp;quot; + google_form[0].childNodes.length);&lt;br /&gt;
//si vull trobar els inpunts, hauré de baixar recursivament per tota l'estructura del formulari.&lt;br /&gt;
&lt;br /&gt;
console.log(&amp;quot;==================================&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
//https://www.javascriptcookbook.com/article/traversing-dom-subtrees-with-a-recursive-walk-the-dom-function/&lt;br /&gt;
function walkTheDOM(node, func) {&lt;br /&gt;
    func(node);&lt;br /&gt;
    node = node.firstChild;&lt;br /&gt;
    while (node) {&lt;br /&gt;
        walkTheDOM(node, func);&lt;br /&gt;
        node = node.nextSibling;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
walkTheDOM(google_form[0], function (node) {&lt;br /&gt;
    console.log(node.nodeName)&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
console.log(&amp;quot;==================================&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
walkTheDOM(google_form[0], function (node) {&lt;br /&gt;
    if (node.nodeName === &amp;quot;INPUT&amp;quot;) {&lt;br /&gt;
    	console.log(node.nodeName + &amp;quot; - &amp;quot; + node.nodeName + &amp;quot; - &amp;quot; + node.name + &amp;quot; - &amp;quot; + node.id)&lt;br /&gt;
    }&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==2. Llistar imatges d'una web==&lt;br /&gt;
Basant-nos en l'anterior codi, podem recórrer tots els elements del DOM en una pàgina web. Per exemple, un llistat de totes les imatges. Per exemple, propva-ho amb algun diari digital com ara:&lt;br /&gt;
*naciodigital.cat&lt;br /&gt;
o d'altres. Es tracta de llistar la url de totes les imatges. Més endavant, aprendràs a posar tota aquesta informació en una base de dades, per exemple.&lt;br /&gt;
&lt;br /&gt;
'''solució''':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
//https://www.javascriptcookbook.com/article/traversing-dom-subtrees-with-a-recursive-walk-the-dom-function/&lt;br /&gt;
function walkTheDOM(node, func) {&lt;br /&gt;
    func(node);&lt;br /&gt;
    node = node.firstChild;&lt;br /&gt;
    while (node) {&lt;br /&gt;
        walkTheDOM(node, func);&lt;br /&gt;
        node = node.nextSibling;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
walkTheDOM(document.body, function (node) {&lt;br /&gt;
    if (node.nodeName === &amp;quot;IMG&amp;quot;) {&lt;br /&gt;
    	console.log(node.src)&lt;br /&gt;
    }&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Entrega=&lt;br /&gt;
Entrega al Classroom&lt;br /&gt;
&lt;br /&gt;
{{Autor}}, Novembre 2020&lt;br /&gt;
[[Categoria: Institut Jaume Balmes]]&lt;br /&gt;
[[Categoria: Assignatura DAW-M06-WEC]]&lt;/div&gt;</summary>
		<author><name>Joan</name></author>
		
	</entry>
</feed>