Jump to content

Unexpected token }


Go to solution Solved by Rui Carlos,

Recommended Posts

Posted (edited)

Boa tarde,

Sou iniciante em js, estou aqui a tentar desenvolver um aplicação, tenho uma função que é chamada com o onclick(), desenhando depois linhas de uma tabela em HTML, só que desenha bem a primeira mas depois aparece o erro Unexpected token }

Tenho o seguinte código:


function novaLinha(string1,string2,string3,string4,string5){
var html ="<tr><td ><form><input type='button'  value='teste' onclick='javascript:valida('"+string1+"','"+string2+"','"+string3+"','"+string4+"','"+string5+"')'></input> </form>";
  }

Não sei estou a fazer bem a parte dos parâmetros, mas pareceu me a melhor maneira...

Alguém sabe porque dá aquele erro?

Obrigado pela atenção,

alves077

Edited by alves077
Posted (edited)

Atualizando o código:

A ideia é acrescentar campos com o js, o primeirio onclick e qualquer coisa como:

onclick="javascript:valida('tabela_1','nome:','descricao','objetivo','alertas')"


function valida(string1,string2,string3,string4,string5){

var aux = "<td><input  type='text' placeholder='"+string1+"'  name='"+id_campo2+"' id='"+string2+"'>";			

var html ="<tr><td ><form><input type='button'  value='teste' onclick='javascript:valida('"+string1+"','"+string2+"','"+string3+"','"+string4+"','"+string5+"')'></input> </form>";
  }

obrigado pela atenção,

alves077

Edited by alves077
Posted

No js tenho:

function valida(string1,string2,string3,string4,string5){

var aux = "<td><input  type='text' placeholder='"+string1+"'  name='"+id_campo2+"' id='"+string2+"'>";			

var html ="<tr><td ><form><input type='button'  value='teste' onclick='javascript:valida('"+string1+"','"+string2+"','"+string3+"','"+string4+"','"+string5+"')'></input> </form>";

document.getElementById(string4).innerHTML = aux+html;

}

Os dados inseridos nos parâmetros são os que escrevi no post anterior, variando o nome, mas é sempre uma string.

A primeira chamada a função funciona como o esperado, só começa a dar a este erro nas chamadas seguintes. Logo, acho que o erro

está na construção do input texto=button no javascript, mas não sei o que faço mal...

Obrigado pela atenção,

alves077

Posted

Se eu não tiver parâmetros ele funciona corretamente sem dar erro. O problema está como faço o onclick dentro da função do js.

A primeira chamada é:

onclick="javascript:novaLinha('tabela_1','nome:','descricao','objectivo:','alertas')"

depois ao longo do código em HTML tenho outro input do tipo button que chama a mesma função mas com outros parâmetros.

onclick="javascript:novaLinha('tabela_2','nome:','descricao','tipo:',extras')"

Mas como digo a maneia como apresentei que crio o button dentro do js é que me está a dar o erro, acho eu, porque a primeira chamada faz bem.

Obrigado pela atenção,

alves077

  • Solution
Posted

Provavelmente tens problemas ao definir a variável html em: onclick='javascript:valida('

Estás a usar ' nos dois lados (para definir o valor do onclick, e para definir o argumento de valida), e penso que isso não costuma funcionar. Experimenta com onclick=\"javascript:valida(' (e faz os restantes ajustes necessários).

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.