Problemas com JavaScript - Struts (NÃO RESOLVIDO) Ajudem please!
25 respostas
J
jonimca
[size=9][/size]Tenho uma função javascript e um form struts, não consigo acessar o document.usuario. Como posso acessar as propriedades do form, por exemplo:
<html:text property=“username” name=“usuario” />
Não consigo fazer document.username…
Como acessar a propriedade document.form.username ?
E numca vai conseguir, se este campo estiver dentro de um form. Você pode fazer de duas maneiras, primeiro coloque a propriedade ‘id’ no seu field ( <html:text property=“username” name=“usuario” id=“usuario”/> ) depois pegue o objeto desta maneira
Quando processo dá erro no onSubmit no form, send;
JSPG0227E: Exceção capturada durante a conversão /login.jsp: /login.jsp(78,1) --> JSPG0123E: Impossível localizar as informações sobre o atributo de marcação onSubmit.
JSPG0227E: Exceção capturada durante a conversão /login.jsp: /login.jsp(168,14) --> JSPG0123E: Impossível localizar as informações sobre o atributo de marcação id.
Mensagem de Erro:JSPG0227E: Exceção capturada durante a conversão /login.jsp: /login.jsp(168,14) --> JSPG0123E: Impossível localizar as informações sobre o atributo de marcação id.
Por favor ajudem !!!
marciobarroso
Certifique-se que o javascript gerado pelo validator está sendo renderizado no html.
Tenho certeza que acertando estes problemas irá funcionar.
<!DOCTYPEHTMLPUBLIC"-//W3C//DTD HTML 4.01 Transitional//EN"><%@tagliburi="http://jakarta.apache.org/struts/tags-bean"prefix="bean"%><%@tagliburi="http://jakarta.apache.org/struts/tags-html"prefix="html"%><%@tagliburi="http://jakarta.apache.org/struts/tags-logic"prefix="logic"%><HTML><HEAD><METAhttp-equiv="Content-Type"content="text/html; charset=ISO-8859-1"><METAname="GENERATOR"content="IBM Software Development Platform"><METAhttp-equiv="Content-Style-Type"content="text/css"><LINKhref="theme/Menus.css"rel="stylesheet"type="text/css"><TITLE>title</TITLE><scripttype="text/javascript"language="javascript">/*Retornaumobjetodoformpeloid*/function$(id){returndocument.getElementById(id);}functioncarrega(){$('usuario').focus();}functionForm_Validator(theForm){$('usuario').value=$('usuario').value.toUpperCase();$('senha').value=$('senha').value.toUpperCase();if($('usuario').value.length<6){alert("O campo usuário deve ter entre 6 e 8 caracteres. Favor corrigir.");$('usuario').value='';$('usuario').focus();return(false);}if($('usuario').value!=""){varlen=$('usuario').value.length-1;varregex=/^[a-zA-Z0-9]$/;for(vari=0;i<len;i++){varcharacter=$('usuario').value.substr(i,i+1);if(!regex.test(character)){alert("Utilize apenas letras e números para o usuário. Favor corrigir.");$('usuario').value='';$('usuario').focus();return(false);}}}if($('senha').value!=""){varlen=$('senha').value.length-1;varregex=/^[a-zA-Z0-9]$/;for(vari=0;i><len;i++){varcharacter=$('senha').value.substr(i,i+1);if(!regex.test(character)){alert("Utilize apenas letras e números para a senha. Favor corrigir.");$('senha').value='';$('senha').focus();return(false);}}}if($('senha').value.length><5){alert("O campo senha deve ter entre 5 e 8 caracteres.");$('senha').value='';$('senha').focus();return(false);}$('submitgif').disabled='true';document.forms[0].submit();}</script></HEAD><BODYbgcolor="#FFFFFF"leftmargin="0"topmargin="0"marginwidth="0"marginheight="0"onload="carrega();"><html:formaction="/login"method="post"onsubmit="Form_Validator(form);"><table><tr><tdalign="center"width="370"><tablewidth="100%"border="0"cellspacing="0"cellpadding="0"><tr><tdalign="left"valign="top"width="170"><tableborder="0"cellspacing="4"cellpadding="4"height="100%"width="100%"><tr><tdclass="titulo_user_senha"align="left">Usuário:</td></tr><tr><tdalign="left"><html:textproperty="username"name="usuario"id="usuario"size="8"maxlength="8"styleClass="campo_site_senha"/></td></tr><tr><tdclass="titulo_user_senha"align="left">Senha:</td></tr><tr><tdalign="left"><html:passwordproperty="senha"name="senha"id="senha"size="8"maxlength="8"styleClass="campo_site_senha"/></td></tr><tr><td><html:submitname="submitgif"styleClass="botao_entrar_n"onMouseOver="this.className='botao_entrar_a'"onMouseOut="this.className='botao_entrar_n'"/></td></tr></table></td><tdalign="left"valign="top"width="200"></td></tr></table></td></tr></table></html:form></BODY></HTML>
[]'s
J
jonimca
Marcio, antecipadamente agradeço a sua atenção, mas ainda continuo com erro;
erro linha 51 - sintaxe
erro linha 74 - Objerto inesperado
Oque mais posso fazer ?
J
jonimca
Marcio
Segue a linha que é informado com erro na sintaxe:
for (var i=0 ; i><len ; i++) {>
J
julianostr
jonimca:
Marcio
Segue a linha que é informado com erro na sintaxe:
for (var i=0 ; i><len ; i++) {>
Que sinal é esse? >< ??
Não seria i<len, ou seja, i menor que len?
J
jonimca
Juliano, sim vc tem razão, já acertei
Agora o erro pula pra essa linha, veja:
if ( $(‘senha’).value.length >< 5 ) {
marciobarroso
julianostr:
jonimca:
Marcio
Segue a linha que é informado com erro na sintaxe:
for (var i=0 ; i><len ; i++) {>
Que sinal é esse? >< ??
Não seria i<len, ou seja, i menor que len?
Isso mesmo … i menor que len …
no copy e paste acabei errando aí …
[]'s
J
julianostr
jonimca:
Juliano, sim vc tem razão, já acertei
Agora o erro pula pra essa linha, veja:
if ( $(‘senha’).value.length >< 5 ) {
Q? Cuma? Quando?
Agora é mais difícil saber o que você quer com ><, pode ser
Pelo jeito tu não consegue colocar um id no atributo
Você pode fazer um laço para chegar ao seu objeto.
varobjetcs=document.getElementsByTagName('input');varmyobjetc;for(vari=0;i<objetcs.length;i++){if(objetcs[i].name!=null&&objetcs[i].name=='senha'){myobjetc=objetcs[i];break;}/*aqui tu tem a variavel myobject, dai tu testa ela.....*/}
Acho que era isso… talvex tenha falado bobagem…>
J
julianostr
Tente assim:
functioncarrega(){eval($('usuario')+".focus()");}
Nesse caso $(‘usuario’) deverá ter um conteúdo:
Caso $(‘usuario’) contenha somente o “usuario”, então você terá que deixar mais partes fixas no javascript. Exemplo:
Só que para este método funcionar, vc precisa colocar o id no seu campo de texto. Usando a taglib html do struts, para colocar o id, vc deve adicionar o parametro “styleId”.
<html:textproperty="usuario"styleId="usuario"/>// depois de renderizado vai gerar :<inputtype="text"name="usuario"id="usuario">
É bem simples.
[]'s
marciobarroso
julianostr:
marciobarroso:
Galera … tantas solucões mirabolantes, qdo simplesmente colocar o styleId no html:text do campo usuário resolveria o problema.
[]'s
Mas você entendeu o que ele quer na realidade? Ou sou eu que estou viajando?
Pelo que entendi ele quer acessar um campo do form utilizando $(‘usuario’) que será substituído em tempo de execução, não ?
Me corrija caso eu esteja errado…
Não confunda esta função com EL … Não tem nada que será gerado em tempo de execução … como na minha resposta anterior, isto é a chamada para uma função javascript que retorna o objeto do form identificado pelo id passado.