[DÚVIDA javascript] Retorno de função em página diferente

Olá, quero fazer uma validação via script, só que trabalho com elas apenas na mesma página. Gostaria de saber como faço retorno quando o script está em página diferente.

COMO EU FARIA:

<script>
function valida(){
var temp = $('#nome').val();

if(temp==""){
$('#erro').html('insira corretamente'); return false;
}
}
</script>

<form>
<input type='text' id='nome'>
<input type='submit' onclick='return valida()'>
</form>

<div id='erro'></div> //o erro apareceria aqui

mas quero a função em outra página

página1

[code][/code]

página2

[code]//como as páginas sao jsp

<%@include file=‘pagina1.jsp’%>

[/code]

mas fazendo uns testes aqui, nem a função o submit ao ser pressionado consegue chamar. coloquei apenas um alert na função e nem isso aparece

javascript por ser client é obrigatório ser na mesma página ?

Não entendi, você está tentando utilizar, para validar um campo da página1, o script da página2?

sim, deve estar na página…

você pode criar um arquivo script.js e incluir no inicio das páginas.

exatamente isso rs

douglas > MUITO bom, nao sabia que podia colocar arquivos externos, o resultado é o mesmo, não está na minha página, dei uma pesquisada aqui e encontrei. Valew jow

Só mais uma coisa … tenho uma function (agora num arquivo externo =D), ela é chamada num submit de um form.

Como eu passo uma variavel do form nessa função ? só estou conseguindo passar texto

function valida(temp){

alert(temp);
}


<form>
<input type='text' id='nome'>
<input type='submit' onclick='valida(???)'>
</form>

se eu colocar valida(texto), ele passa como string e exibe TEXTO e nao o que eu digitei

Meu amigo tsalsicha acho que vc consegue validar dando um nome no formulário. assim


function valida(){  
  
alert(document.form1.nome.value);  
}  
  
  
<form name="form1">  
<input type='text' id='nome' name="nome">  
<input type='submit' onclick='valida()'>  
</form>

Ou vc pode pegar o valor pelo ID Assim:


function valida(){  
  
alert(document.getElementById("nome").value);  
}  
  
  
<form>  
<input type='text' id='nome'>  
<input type='submit' onclick='valida()'>  
</form>

Abr,
Altair

Não não, a dúvida ainda continua …

quero fazer uma função geral em javascript. Ou seja, preciso passar dados como parâmetro. Só que os dados que quero passar são do html.

function valida(var1){
alert(var1);
}

no html

<form>
<input type='text' id='nome'>
<input type='submit' onclick='valida('nome')'>
</form>

Só que do jeito que está aí em cima, ele passa uma String ‘nome’ e não a variável. Se eu tirar os ‘’, ele dá erro, eu preciso passar o conteudo do input nome

Consegui …

em vez disso

é isso

Bom dessa forma você deve estar usando algum biblioteca de javascript Ex: JQuery.

Bom tem uma forma de usar sem a biblioteca assim:


<form>
<input type="text" name="nome" />
<input type="submit" onclick="valida('this.nome.value')" />  
</form>

Mais isso pode ter incompatibilidade com alguns browser.