[SOLUCIONADO] JavaScript - Pegar um valor dinamicamente e setar num campo hidden

Olá galera, possuo o código JavaScript abaixo que retorna um valor numérico, gostaria de setá-lo num input type=“hidden” lá no
value, como faço isso? Pois ele está entendendo como String da forma que estou fazendo:

<td><input type="hidden" name="text2" value="trataURL()" /></td>

function trataURL(){ url = window.location; url = url.toString(); url = url.split("?"); return url[1]; }

Pior que parece ser tão fácil rs :smiley:

Pior que é :lol:

&lt;body onload="document.getElementsByName('text2').value = trataURL();"&gt;

Puxa, fiz os testes mas continua não funcionando… Chega vazio na action daí da NumberFormatException…

[code]

Passo 2 de 3




Fornecedor:


[/code]

Desta forma também não funcionou:

[code]

Passo 2 de 3




Fornecedor:


[/code]

[quote=Granella]Pior que é :lol:

&lt;body onload="document.getElementsByName('text2').value = trataURL();"&gt; [/quote]

Puxa fiz um outro teste, funciona, mas só no IE… :smiley:

Conhece alguma maneira de deixar multi-plataforma?

assim deve funcionar, testei no Chrome:

&lt;html&gt; &lt;head&gt; &lt;meta http-equiv="Content-Type" content="text/html; charset=UTF-8"&gt; &lt;script type="text/javascript"&gt; function trataURL(frm) { url = window.location; url = url.toString(); url = url.split("?"); frm.text2.value = url[1]; } &lt;/script&gt; &lt;/head&gt; &lt;body&gt; &lt;h2&gt;Passo 2 de 3&lt;/h2&gt;<br /> &lt;form name="form1" action="Teste" method="post" onsubmit="trataURL(this)"&gt; &lt;table border="1"&gt; &lt;tr&gt; &lt;td&gt;<br /><br /> Fornecedor: &lt;input type="text" name="text1" /&gt;<br /><br />&lt;/td&gt; &lt;td&gt;&lt;input type="hidden" name="text2" value="" /&gt;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; &lt;input type="submit" value="Busca Arquivo Epub" /&gt;<br /> &lt;/form&gt; &lt;/body&gt; &lt;/html&gt;

[quote=Granella]assim deve funcionar, testei no Chrome:

&lt;html&gt; &lt;head&gt; &lt;meta http-equiv="Content-Type" content="text/html; charset=UTF-8"&gt; &lt;script type="text/javascript"&gt; function trataURL(frm) { url = window.location; url = url.toString(); url = url.split("?"); frm.text2.value = url[1]; } &lt;/script&gt; &lt;/head&gt; &lt;body&gt; &lt;h2&gt;Passo 2 de 3&lt;/h2&gt;<br /> &lt;form name="form1" action="Teste" method="post" onsubmit="trataURL(this)"&gt; &lt;table border="1"&gt; &lt;tr&gt; &lt;td&gt;<br /><br /> Fornecedor: &lt;input type="text" name="text1" /&gt;<br /><br />&lt;/td&gt; &lt;td&gt;&lt;input type="hidden" name="text2" value="" /&gt;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; &lt;input type="submit" value="Busca Arquivo Epub" /&gt;<br /> &lt;/form&gt; &lt;/body&gt; &lt;/html&gt;[/quote]

Teoricamente deve funcionar. Pois a função será executada quando você enviar o formulário. O teu exemplo anterior não funcionava porque você chamava a função no abrir da página e o campo não tinha sito gerado ainda. O correto é chamar o JS depois de gerar o campo. Algo do tipo:

&lt;input type="hidden" name="text2" value="" /&gt;
&lt;script&gt;
trataURL();
&lt;/script&gt;

[quote=febeckers][quote=Granella]assim deve funcionar, testei no Chrome:

&lt;html&gt; &lt;head&gt; &lt;meta http-equiv="Content-Type" content="text/html; charset=UTF-8"&gt; &lt;script type="text/javascript"&gt; function trataURL(frm) { url = window.location; url = url.toString(); url = url.split("?"); frm.text2.value = url[1]; } &lt;/script&gt; &lt;/head&gt; &lt;body&gt; &lt;h2&gt;Passo 2 de 3&lt;/h2&gt;<br /> &lt;form name="form1" action="Teste" method="post" onsubmit="trataURL(this)"&gt; &lt;table border="1"&gt; &lt;tr&gt; &lt;td&gt;<br /><br /> Fornecedor: &lt;input type="text" name="text1" /&gt;<br /><br />&lt;/td&gt; &lt;td&gt;&lt;input type="hidden" name="text2" value="" /&gt;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; &lt;input type="submit" value="Busca Arquivo Epub" /&gt;<br /> &lt;/form&gt; &lt;/body&gt; &lt;/html&gt;[/quote]

Teoricamente deve funcionar. Pois a função será executada quando você enviar o formulário. O teu exemplo anterior não funcionava porque você chamava a função no abrir da página e o campo não tinha sito gerado ainda. O correto é chamar o JS depois de gerar o campo. Algo do tipo:

&lt;input type="hidden" name="text2" value="" /&gt;
&lt;script&gt;
trataURL();
&lt;/script&gt;

[/quote]

febeckers, vc é dez!
valeu abraços,

Falow…

Granella :smiley: valeu…