Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Bom galera é o seguinte, já aprendi muitas coisas sobre javascript, mais como nunca trabalhei na área não sei quando aplicar javascript, por exemplo para validar campos de login e senha.. já que se o usuário desativar o javascript do navegador acho que seja inútil, entre outras coisas, então quando aplicar o javascript ?
E outras coisas como por exemplo, no javascript alguns scripts só rodam corretamente quando se chama através do return como por exemplo:
<html>
<head>
<script type="text/javascript">
window.onload = function(){
function msg(a){
return function(){ // <- aqui !
alert("Você clickou no " + a);
}
}
var botao = document.getElementsByTagName("button");
var valores = ["flamengo","vasco","botafogo","fluminense"];
for(x = 0; x < botao.length; x++){
botao[x].onclick = msg(valores[x]);
}
}
</script>
</head>
<body>
<button type="button"> Flamengo </button><br />
<button type="button"> Vasco </button><br />
<button type="button"> Botafogo </button><br />
<button type="button"> Fluminense </button><br />
</body>
</html>
Nesse script se eu tirar o return o sisteminha não funfa corretamente !
Entre outras coisas o return da jeito, mais não sei pq, eu sei que o return traz um retorno de uma função, mais tem função que eu nen declaro ele e funciona normal !!!
Alguem pode me ajudar de forma exclarecedora ?
Se você testar esse seu código aê verá que estar errado..
Opa só esqueci de fechar o for, só prestar mais atenção que resolve ;)
Não falei disso não sangue bom, até funciona isso aê, mais é exatamente aê que está o problema esse for ae vai rodar os 4 valores sem eu ter clickado em nenhum deles entendeu ? já nesse que eu postei que tem o return, o nome do time so aparece se eu clickar no botão, isso que eu quero entender !!!
Olha cara eu testei aqui e não consegui chegar a um resultado, espero que alguém ae poste alguma solução, agora eu também quero saber, mais o que eu observei aqui é que ao invés dele atribuir a função ao onclick, ele está executando ela.
Pois éee, eu ja tentei de várias formas mais só funcionou assim, eu tava lendo na net e vi algo sobre função callback mais não consegui entender direiro rs, mais valeu mano.. obrigado por tentar ajudar !
<script>
function msg(a){
alert("Você clickou no " + a);
}
</script>
<button type="button" onclick="msg(this.innerHTML);">Botafogo</button>
bom você ta com função dentro de função por isso q a função dentro da funcao msg é retornada. esse é meio q um obj msg onde você retorna uma função. você poderia fazer de outras formas
tipo...
function msg(mensagem){
var m = mensagem;
return {
alertar: function(){
alert(m);
},
escrever: function(){
document.write(m);
}
}
}
//usando funcao msg
var m = msg('uma mensagem ');
m.alertar();
m.escrever();
O Javascript vai validar por exemplo se o usuário preencheu os campos login e senha, mais ele não vai verificar se a senha está correta, ele só faz uma validação previa no lado cliente antes de enviar os dados pro servidor, e quando os dados chegarem no servidor é sempre bom validar novamente.
Não tem necessidade de colocar o código todo dentro do evento onLoad, somente a atribuição ao evento onclick do botao, eu faria assim: