Pegar valor de um form em Struts com Javascript

5 respostas
G

Estou com um probleminha na hora de validar o que foi digitado no form do struts... alguém pode me dar uma mão??

Form:

&lt;h2&gt;Digite o nome do domínio:&lt;/h2&gt;<br/>
&lt;html:form action="/listaFontesCompativeis" focus="dominio.nome" onsubmit=" return validarDominio( this );"&gt;
Domínio:
&lt;html:text property="dominio.nome" size="30"/&gt;
<br/><br/>
&lt;strong&gt; Digite a fonte que deseja ver o resultado:&lt;/strong&gt;
<br/><br/>
&lt;table border="0" align="center" &gt;
&lt;logic:iterate name="ListaFonteCompativeisForm" property="fontes" id="fontes"&gt;

	&lt;html:checkbox name="fontes" property="checked" indexed="true"&gt;
		&lt;bean:write name="fontes" property="nome" /&gt;
	<br />
	&lt;/html:checkbox&gt;

&lt;/logic:iterate&gt;
&lt;/table&gt;
Função javascript:
function validarDominio( form ) {  

	if(form.dominio.nome.value == ""){
		alert("truee"); 
		return(true);
	}
	alert("false");
	   return(false);  
}

5 Respostas

Jiraiya

Você não poderia tentar colocar um id no text ?

<html:text id="nome" property="dominio.nome" size="30"/>

e na função javaScript pegar ele assim..?

function validarDominio(){
  var nome = getElementById("nome");

/*
insira sua validacao aqui

*/

}
G

Valeu pela dica! mas parece que não funcionou aqui… quando eu to um ctrl+spaço pra ver os tipos de propriedades que a tag html:text suporta, não existe um “id”. mas mesmo tentando ele não funcionou… alguma outra sugestão?

ncm

Cara,

a propriedade que você quer é po styleId, essa propriedade gera o id da tag em html.
A proriedade id é de uso do struts.

tenta ai algo assim

&lt;html:text styleId="nome" property="dominio.nome" /&gt;
G

ncm:
Cara,

a propriedade que você quer é po styleId, essa propriedade gera o id da tag em html.
A proriedade id é de uso do struts.

tenta ai algo assim

&lt;html:text styleId="nome" property="dominio.nome" /&gt;

Cara você merece um beijo =*

Valeu!

L

gumatias,

function validarDominio(){  
   var nome = getElementsByTagName("dominio.nome");  
   

 }

Assim provavelmente irá funcionar também ou se você estiver usando o prototype seria assim:

$("dominio.nome")

Se você olhar o código-fonte gerado (HTML) da página você vai perceber que o <html:text /> virá um <input type=“text” /> com a propriedade “name” preenchida com o nome que você colocou na propriedade “property” da tag do struts.
No final das contas “tudo” virá HTML e assim você pode manipular os campos da tela com o javascript como se sua página fosse HTML puro. (ficou meio redundante, mas creio que consiga entender assim)

Criado 2 de setembro de 2009
Ultima resposta 2 de set. de 2009
Respostas 5
Participantes 4