alves077 Posted July 20, 2013 at 03:23 PM Report #519465 Posted July 20, 2013 at 03:23 PM (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 July 20, 2013 at 05:18 PM by alves077
HappyHippyHippo Posted July 20, 2013 at 05:11 PM Report #519470 Posted July 20, 2013 at 05:11 PM (edited) que dados se encontram nas variáveis string1e afins ? Edited July 20, 2013 at 05:11 PM by HappyHippyHippo IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
alves077 Posted July 20, 2013 at 05:25 PM Author Report #519472 Posted July 20, 2013 at 05:25 PM (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 July 20, 2013 at 05:26 PM by alves077
HappyHippyHippo Posted July 20, 2013 at 05:35 PM Report #519474 Posted July 20, 2013 at 05:35 PM se o erro aparece depois de clicar no input, então o erro será no javascript criado. logo quando te pedi : que dados se encontram nas variáveis string1e afins ? é para apresentares os dados reais e não: qualquer coisa como: IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
alves077 Posted July 20, 2013 at 08:19 PM Author Report #519482 Posted July 20, 2013 at 08:19 PM 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
Rui Carlos Posted July 22, 2013 at 05:53 PM Report #519579 Posted July 22, 2013 at 05:53 PM Com que valores é que essa função é chamada? Estás a validar os valores que a função recebe? Rui Carlos Gonçalves
alves077 Posted July 22, 2013 at 08:36 PM Author Report #519598 Posted July 22, 2013 at 08:36 PM 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 Rui Carlos Posted July 23, 2013 at 02:12 PM Solution Report #519667 Posted July 23, 2013 at 02:12 PM 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). Rui Carlos Gonçalves
alves077 Posted July 23, 2013 at 10:11 PM Author Report #519712 Posted July 23, 2013 at 10:11 PM Ok, pelo que vejo resolvi o problema, com o \", esta mistura e "" e ' não correu bem 🙂 Obrigado Rui Carlos.
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now