Problemas com JavaScript - Struts (NÃO RESOLVIDO) Ajudem please!

[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 ?

Por favor ajudem !!!

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

document.forms[0].usuario;
//ou
document.getElementById("usuario");

Quando processo dá erro no onSubmit no form, send;

JSPG0227E: Exceção capturada durante a conversão /login.jsp: /login.jsp(78,1) --&gt JSPG0123E: Impossível localizar as informações sobre o atributo de marcação onSubmit.

<html:form action="/login" method=“post” onSubmit=“return Form_Validator(form);”>

JSPG0227E: Exceção capturada durante a conversão /login.jsp: /login.jsp(168,14) --&gt JSPG0123E: Impossível localizar as informações sobre o atributo de marcação id.

A marcação "id", dá erro…

Olá veja se da forma abaixo irá funcionar:

<html:form action="/login" method="post" onsubmit="return Form_Validator(form);"> 

Ps.: onsubmit e não onSubmit

[]´s
Rodrigo

Opa, foi mas apareçeu outro erro:

Código de Erro HTTP: 500

Mensagem de Erro:JSPG0227E: Exceção capturada durante a conversão /login.jsp: /login.jsp(168,14) --&gt JSPG0123E: Impossível localizar as informações sobre o atributo de marcação id.

Por favor ajudem !!!

Certifique-se que o javascript gerado pelo validator está sendo renderizado no html.

Posta o seu code prá gente ter mais detalhe

Está correto meu submit ?

<td><html:submit name=“submitgif” styleClass=“botao_entrar_n”
onclick=“return Form_Validator(form);”>
</html:submit>

<%@ taglib uri="/WEB-INF/struts-html.tld" prefix=“html”%>
<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix=“bean”%>
<%@ taglib uri="/WEB-INF/struts-logic.tld" prefix=“logic”%>

					<tr>
						<td align="center" width="370">
						<table width="100%" border="0" cellspacing="0" cellpadding="0">
							<tr>
								<td align="left" valign="top" width="170">
								<table border="0" cellspacing="4" cellpadding="4" height="100%"
									width="100%">
									<tr>
										<td class="titulo_user_senha" align="left">&nbsp;Usuário:</td>
									</tr>
									<tr>
										<td align="left">	
													<html:text property="username"	name="usuario" id="usuario" size="8" maxlength="8"
													styleClass="campo_site_senha">
												</html:text>
										</td>
									</tr>
									<tr>
										<td class="titulo_user_senha" align="left">&nbsp;Senha:</td>
									</tr>
									<tr>
										<td align="left">
											<html:password property="senha" name="senha" id="senha" size="8" maxlength="8"
												styleClass="campo_site_senha" redisplay="no">
											</html:password>
										</td>
									</tr>
									<tr>
										<td><html:submit name="submitgif" border="0" styleClass="botao_entrar_n" onMouseOver="this.className='botao_entrar_a'"
												onMouseOut="this.className='botao_entrar_n'" onclick="return Form_Validator(form);">		
											</html:submit>
										</td>
									</tr>
								</table>
								</td>
								<td align="left" valign="top" width="200"></td>
							</tr>
						</table>
						</td>
					</tr>
				</table>
				</td>
			</tr>

Cara … Dando uma organizada no seu código eu pude encontrar um monte de problemas.
Os códigos de javascript eu dei uma arrumada …

Erros encontrados :
1 - vc tem 3 tag’s <body> neste código;
2 - Se vc coloca onsubmit no form, não precisa colocar a chamada da função no onclick do submit;
3 - Nos html:text e html:password vc precisa usar o parametro property com o mesmo nome do atributo do seu actionForm;
4 - Nos html:text e html:password vc só deve usar o name caso esteja associando este campo a algum objeto de escopo;
5 - Nos html:text e html:password vc usou o parametro ‘id’. Este parametro não existe. Para identificar estes campos por id vc deve usar o parametro ‘styleId’;
6 - No html:submit :
- O parametro ‘border’ não existe;
- O parametro ‘onMouseOver’ deve ser ‘onmouseover’;
- O parametro ‘onMouseOut’ deve ser ‘onmouseout’;
7 - Faltou fechar a tag <html:form>;

Tenho certeza que acertando estes problemas irá funcionar.

&lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"&gt;
&lt;%@ taglib uri="http://jakarta.apache.org/struts/tags-bean"	prefix="bean"%&gt;
&lt;%@ taglib uri="http://jakarta.apache.org/struts/tags-html" prefix="html"%&gt;
&lt;%@ taglib uri="http://jakarta.apache.org/struts/tags-logic" prefix="logic"%&gt;
&lt;HTML&gt;
&lt;HEAD&gt;
	&lt;META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"&gt;
	&lt;META name="GENERATOR" content="IBM Software Development Platform"&gt;
	&lt;META http-equiv="Content-Style-Type" content="text/css"&gt;
	&lt;LINK href="theme/Menus.css" rel="stylesheet" type="text/css"&gt;
	&lt;TITLE&gt;title&lt;/TITLE&gt;
	&lt;script type="text/javascript" language="javascript"&gt;
		/* Retorna um objeto do form pelo id */
		function $(id) {
			return document.getElementById(id);
		}
		
		function carrega() {
			$('usuario').focus();
		}
		
		function Form_Validator(theForm) {
			$('usuario').value = $('usuario').value.toUpperCase();
			$('senha').value = $('senha').value.toUpperCase();
		
			if ($('usuario').value.length &lt6) {
				alert(&quot;O campo usuário deve ter entre 6 e 8 caracteres. Favor corrigir.&quot;);
				$('usuario').value='';
				$('usuario').focus();
				return (false);
			}
			if ($('usuario').value != &quot;&quot;) {
				var len = $('usuario').value.length-1;
				var regex = /^[a-zA-Z0-9]$/;
				
				for (var i=0; i&lt;len ; i++) {
					var character = $('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 != "") {
				var len = $('senha').value.length-1;
				var regex = /^[a-zA-Z0-9]$/;
			
				for (var i=0 ; i&gt;&lt;len ; i++) {
					var character = $('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 &gt;&lt 5 ) {
				alert(&quot;O campo senha deve ter entre 5 e 8 caracteres.&quot;);
				$('senha').value='';
				$('senha').focus();
				return (false);
			}
			
			$('submitgif').disabled = 'true';
			document.forms[0].submit();
		}
	&lt;/script&gt;
&lt;/HEAD&gt;
	&lt;BODY bgcolor="#FFFFFF" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0" onload="carrega();"&gt;
		&lt;html:form action="/login" method="post" onsubmit="Form_Validator(form);"&gt;
			&lt;table&gt;
				&lt;tr&gt;
					&lt;td align="center" width="370"&gt;
						&lt;table width="100%" border="0" cellspacing="0" cellpadding="0"&gt;
							&lt;tr&gt;
								&lt;td align="left" valign="top" width="170"&gt;
									&lt;table border="0" cellspacing="4" cellpadding="4" height="100%" width="100%"&gt;
										&lt;tr&gt;
											&lt;td class="titulo_user_senha" align="left"&gt;
												Usuário:
											&lt;/td&gt;
										&lt;/tr&gt;
										&lt;tr&gt;
											&lt;td align="left"&gt;
												&lt;html:text property="username" name="usuario" id="usuario" size="8" maxlength="8" styleClass="campo_site_senha" /&gt;
											&lt;/td&gt;
										&lt;/tr&gt;
										&lt;tr&gt;
											&lt;td class="titulo_user_senha" align="left"&gt;
												Senha:
											&lt;/td&gt;
										&lt;/tr&gt;
										&lt;tr&gt;
											&lt;td align="left"&gt;
												&lt;html:password property="senha" name="senha" id="senha" size="8" maxlength="8" styleClass="campo_site_senha" /&gt;
											&lt;/td&gt;
										&lt;/tr&gt;
										&lt;tr&gt;
											&lt;td&gt;
												&lt;html:submit name="submitgif" styleClass="botao_entrar_n" onMouseOver="this.className='botao_entrar_a'" onMouseOut="this.className='botao_entrar_n'" /&gt;
											&lt;/td&gt;
										&lt;/tr&gt;
									&lt;/table&gt;
								&lt;/td&gt;
								&lt;td align="left" valign="top" width="200"&gt;
								&lt;/td&gt;
							&lt;/tr&gt;
						&lt;/table&gt;
					&lt;/td&gt;
				&lt;/tr&gt;
			&lt;/table&gt;
		&lt;/html:form&gt;
	&lt;/BODY&gt;
&lt;/HTML&gt;

[]'s

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 ?

Marcio

Segue a linha que é informado com erro na sintaxe:

for (var i=0 ; i&gt<len ; i++) {>

[quote=jonimca]Marcio

Segue a linha que é informado com erro na sintaxe:

for (var i=0 ; i&gt<len ; i++) {>[/quote]

Que sinal é esse? &gt&lt ??

Não seria i<len, ou seja, i menor que len?

Juliano, sim vc tem razão, já acertei

Agora o erro pula pra essa linha, veja:

if ( $(‘senha’).value.length &gt&lt 5 ) {

[quote=julianostr][quote=jonimca]Marcio

Segue a linha que é informado com erro na sintaxe:

for (var i=0 ; i&gt<len ; i++) {>[/quote]

Que sinal é esse? &gt&lt ??

Não seria i<len, ou seja, i menor que len?
[/quote]
Isso mesmo … i menor que len …

no copy e paste acabei errando aí …

[]'s

[quote=jonimca]Juliano, sim vc tem razão, já acertei

Agora o erro pula pra essa linha, veja:

if ( $(‘senha’).value.length &gt&lt 5 ) {[/quote]

Q? Cuma? Quando?

Agora é mais difícil saber o que você quer com &gt&lt, pode ser


if ( $('senha').value.length &gt 5 ) { -&gt Maior que

if ( $('senha').value.length &lt 5 ) { -&gt Menor que

ou até 

if ( $('senha').value.length != 5 ) { -&gt Diferente de

Veja aí qual você precisa…

Rapaziada, ainda com erro;

function carrega() {
$(‘usuario’).focus();
}

Diz que está ó valor é null ou não é um objeto

Nessa linha tbm

<body bgcolor="#FFFFFF" leftmargin=“0” topmargin=“0” marginwidth=“0” marginheight=“0” onLoad=“carrega();”>

Vc´s conhecem outro jeito para que eu possa validar os campos do usuário ?

Cara … posta de novo o code do jsp renderizado para ver como ficou …

[]'s

[quote=jonimca] function carrega() {
$(‘usuario’).focus();
} [/quote]

Troque o ‘id’ da tag html:text para styleId conforme abaixo :

&lt;html:text property="username" name="usuario" styleId="usuario" size="8" maxlength="8" styleClass="campo_site_senha" /&gt;

[]'s