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
…
Pior que é :lol:
<body onload="document.getElementsByName('text2').value = trataURL();">
Puxa, fiz os testes mas continua não funcionando… Chega vazio na action daí da NumberFormatException…
[code]
Passo 2 de 3
[/code]
Desta forma também não funcionou:
[code]
Passo 2 de 3
[/code]
[quote=Granella]Pior que é :lol:
<body onload="document.getElementsByName('text2').value = trataURL();">
[/quote]
Puxa fiz um outro teste, funciona, mas só no IE… 
Conhece alguma maneira de deixar multi-plataforma?
assim deve funcionar, testei no Chrome:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script type="text/javascript">
function trataURL(frm) {
url = window.location;
url = url.toString();
url = url.split("?");
frm.text2.value = url[1];
}
</script>
</head>
<body>
<h2>Passo 2 de 3</h2><br />
<form name="form1" action="Teste" method="post" onsubmit="trataURL(this)">
<table border="1">
<tr>
<td><br /><br /> Fornecedor: <input type="text" name="text1" /><br /><br /></td>
<td><input type="hidden" name="text2" value="" /></td>
</tr>
</table>
<input type="submit" value="Busca Arquivo Epub" /><br />
</form>
</body>
</html>
[quote=Granella]assim deve funcionar, testei no Chrome:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script type="text/javascript">
function trataURL(frm) {
url = window.location;
url = url.toString();
url = url.split("?");
frm.text2.value = url[1];
}
</script>
</head>
<body>
<h2>Passo 2 de 3</h2><br />
<form name="form1" action="Teste" method="post" onsubmit="trataURL(this)">
<table border="1">
<tr>
<td><br /><br /> Fornecedor: <input type="text" name="text1" /><br /><br /></td>
<td><input type="hidden" name="text2" value="" /></td>
</tr>
</table>
<input type="submit" value="Busca Arquivo Epub" /><br />
</form>
</body>
</html>
[/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:
<input type="hidden" name="text2" value="" />
<script>
trataURL();
</script>
[quote=febeckers][quote=Granella]assim deve funcionar, testei no Chrome:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script type="text/javascript">
function trataURL(frm) {
url = window.location;
url = url.toString();
url = url.split("?");
frm.text2.value = url[1];
}
</script>
</head>
<body>
<h2>Passo 2 de 3</h2><br />
<form name="form1" action="Teste" method="post" onsubmit="trataURL(this)">
<table border="1">
<tr>
<td><br /><br /> Fornecedor: <input type="text" name="text1" /><br /><br /></td>
<td><input type="hidden" name="text2" value="" /></td>
</tr>
</table>
<input type="submit" value="Busca Arquivo Epub" /><br />
</form>
</body>
</html>
[/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:
<input type="hidden" name="text2" value="" />
<script>
trataURL();
</script>
[/quote]
febeckers, vc é dez!
valeu abraços,