Gente sou eu novamente , to precisando de ajuda!

Chupando bala de novo?! Cadê o nome do formulário, sem o nome ele não tem como descobrir o que você está chamando.

há duas maeira de chamar um elemento em JS

//assim ele pega form com o nome 'formCliente'
document.formCliente

ou 

//assim ele pega o primeiro form do documento
document.forms[0]

Não precisa colocar um name na tag html:form.

No javascript você vai chamar o forma que corresponde a sua action ProcessarInclusaoCliente.do. Por exemplo, se o nome do seu form for ProcessarInclusaoClienteForm, no javascript você deve colocar:

document.ProcessarInclusaoClienteForm

então tente usar da maneira que eu te disse

document.forms[0]

P.S…: Escreve direito porque esse jeito que tu escreve é ilegivel, parece chat do Terra

[quote=Walter Jardim]Não precisa colocar um name na tag html:form.

No javascript você vai chamar o forma que corresponde a sua action ProcessarInclusaoCliente.do. Por exemplo, se o nome do seu form for ProcessarInclusaoClienteForm, no javascript você deve colocar:

document.ProcessarInclusaoClienteForm

Mas isso não vai depender de como está configurado no struts-config, pelo que eu vi, ele pega o nome do form que está lá configurado!

Você tem que ver como está configurado o arquivo struts-config.xml ou o arquivo que contém a declaração de todos os forms com suas actions.

Exemplo:

No exemplo acima a action navegacaoTeste (que será chamada no jsp) gerará um form de nome NavegacaoForm e é esse nome que você deverá utilizar na função javascript.

Confirme aí as configurações do seu xml.

Só para constar, o nome do teu form vai ser este:

formularioProcessarInclusaoCliente

Pelo que eu vi, sua função tem que ficar assim:

[code]function validarForm() {

    d = document. formularioProcessarInclusaoCliente;

  if (d.nome.value == ""){
        alert("O campo nome deve ser preenchido!");
        document.nome.focus();
        return ;
     }

}[/code]

Outra coisa, esta função tenta pegar o campo nome. Este campo está definido no struts-config e na classe FormularioProcessarCliente?

Mas péraí péraí péraí péraí péraí péraí péraí péraí péraí péraí péraí péraí péraí péraí péraí péraí péraí péraí péraí péraí péraí péraí péraí péraí péraí péraí péraí

Você não está escrevendo a propriedade name dentro da tag struts na página jsp não né??

tá mas tu conseguiu utilizar a tua função JS???!

Neste caso realmente não é necessário declarar no struts-config, ja que vc está usando um form bean.

Qual o erro que está acontecendo? Se puder postar, melhor pra a gente entender, pq eu ja num to entendendo mais nada hehehehehe

Não se esqueça do seguinte, qualquer campo que você colocar dentro do form struts na página .jsp e que seja um campo formado por tag struts, exemplo, <html:text size=“17” maxlength=“15” property=“nome”/> deverá ESTAR COM CERTEZA dentro da declaração do forms lá no struts-config.xml, senão, nada feito.

Lá no seu exemplo anterior não vi nenhum campo de form nas declarações dos seus 4 forms.

Pra fazer isso é o seguinte, adicione a linha abaixo dentro da tag <form-bean do seu arquivo struts-config.xml:

Eu escrevi “nome” mas deve ser o campo que você estará acessando em javascript.

Quando o struts “executar” o jsp ele vai “trocar” todos os campos que começam com a tag <html:text … /> pelos seus respectivos campos listados la na tag form-property do struts-config.xml.

Entendeu?

  • Gente eu utilizei esta 2 funções javascript em um formulario de tag html pura …<html></html> e funcionou !

                       função 1 em javascript
    

alert("oi"); 
function validarForm() {
        if (document.forms[0].nome.value == ""){
           alert("O campo nome deve ser preenchido!");
           document.forms[0].nome.focus();
           return ;
        }
 }
                     função 2 em javascript
function validarForm() {

       d = document.formCliente;

     if (d.nome.value == ""){
           alert("O campo nome deve ser preenchido!");
           document.nome.focus();
           return ;
        }
 }
  • eu criei o mesmo formulario utilizando a tag do struts e nao funciona…alguem pode me dizer o ke é ?

Obs.:gente é o mesmo formulario so ke utilizo com a tag so struts ke nao muda kuase nada o exemplo ta aí em baixo !

&lt;html:html locale="true"&gt;
   &lt;head&gt;
       &lt;title&gt;Inclusão de Cargos&lt;/title&gt;
   &lt;script language="javascript" src="java_script/validarFormCliente.js"&gt;&lt;/script&gt;
   &lt;/head&gt; 
   &lt;body&gt;    	    	
   &lt;html:form  action="/ProcessarInclusaoCliente.do" method="post"  onsubmit="return validarForm()"&gt;

gente to precisando mesmo !!! :cry:

&lt;html:form action="/ProcessarInclusaoCliente.do" method="post" onsubmit="return validarForm()"&gt;

  • mas o problema ke kuando eu seto o name dentro da tag <html:form> do struts dispara um erro dizendo ke dentro desta tag na se pode ter um campo xamado name !!!

  • serio eu consegui fazer estes 2 exemplos javascript ke kolokei aí e pegou blza …isso utilizando html puro …

  • MAs kuando eu colokei dentro da tag do struts nao funcionou !! :frowning: :frowning:

  • O engraçado ke ele exibe akela mensagem oi mas nao paga a função !

                 utilizando a tag do struts  
 &lt;html:html locale="true"&gt;
    &lt;head&gt;
        &lt;title&gt;Inclusão de Cargos&lt;/title&gt;
    &lt;script language="javascript" src="java_script/validarFormCliente.js"&gt;&lt;/script&gt;
    &lt;/head&gt; 
    &lt;body&gt;    	    	
    &lt;html:form  action="/ProcessarInclusaoCliente.do" method="post"  onsubmit="return validarForm()"&gt;

Obs.: Aki o javascript nao funciona … :frowning:

                        html puro
 &lt;html&gt;
    &lt;head&gt;
        &lt;title&gt;Inclusão de Cargos&lt;/title&gt;
    &lt;script language="javascript" src="java_script/validarFormCliente.js"&gt;&lt;/script&gt;
    &lt;/head&gt; 
    &lt;body&gt;    	    	
    &lt;form  name="cliente"action="/ProcessarInclusaoCliente.do" method="post"  onsubmit="return validarForm()"&gt;

Obs.: Aki o javascript funciona legal .pois aki posso setar o campo name na tag do struts nao !


    &lt;form-beans&gt;

    	 &lt;form-bean name="formularioExibirFormularioCliente" type="pkg.formulario.exibir.FormularioExibirCliente"/&gt;
       	 &lt;form-bean name="formularioExibirConsultaCliente" type="pkg.formulario.exibir.FormularioExibirCliente"/&gt;

       	 &lt;form-bean name="formularioProcessarInclusaoCliente" type="pkg.formulario.processar.FormularioProcessarCliente"/&gt;
       	 &lt;form-bean name="formularioProcessarConsultaCliente" type="pkg.formulario.processar.FormularioProcessarCliente"/&gt;
       	 
    &lt;/form-beans&gt;


Action Mapping Definitions --&gt;

    &lt;action-mappings&gt;
			  	
	  	&lt;action  path="/ExibirInclusaCliente" type="pkg.formulario.struts.exibir.AcaoExibirFormularioCliente" name="formularioExibirFormularioCliente" scope="request" validate="false" &gt;
	  		&lt;forward name="InclusaoCliente" path="/jsp/incluirCliente.jsp" /&gt;
	  	&lt;/action&gt;
	  	
	  	
	  		  	&lt;action  path="/ProcessarInclusaoCliente" type="pkg.formulario.struts.processar.AcaoProcessarFormularioIncluirCliente" name="formularioProcessarInclusaoCliente" scope="request" validate="false" &gt;
	  		&lt;forward name="InclusaoCliente" path="/jsp/incluirCliente.jsp" /&gt;
	  	&lt;/action&gt;		 
	  	
	  	
	  	&lt;action  path="/ExibirConsultaCliente" type="pkg.formulario.struts.exibir.AcaoExibirConsultaCliente" name="formularioExibirConsultaCliente" scope="request" validate="false" &gt;
	  		&lt;forward name="ConsultaCliente" path="/jsp/consultaCliente.jsp" /&gt;
	  	&lt;/action&gt;
	  	

	  	&lt;action  path="/ProcessarConsultaCliente" type="pkg.formulario.struts.processar.AcaoProcessarConsultaCliente" name="formularioProcessarConsultaCliente" scope="request" validate="false" &gt;
	  		&lt;forward name="ConsultarClienteExibir" path="/jsp/exibirConsultaCliente.jsp" /&gt;
	  	&lt;/action&gt;	
	  	
	&lt;/action-mappings&gt;
    

Isso mesmo !!!

nao estou colocando dentro da tag nao o name !!!

  • a propriedade nome existe sim no meu formulario de processa cliente mas esse negocio de declarar no struts-congi eu nao fiz !!! nao sei nem como é

ainda nao … e pior ke tudo ke vc falaram eu fiz …kuano eu incluo o import do java script ele exibe este erro ---->>"org.apache.struts.taglib.html.BEAN" xegando nem a exibir o formulario . Mas kuando eu tiro o import di javascript o formulario é exibido rapidamente !!

blza eu vou postar já já o codigo dexa so eu ajeitar aki pra aparecer uma coisa legivel pra vcs ! :smiley:

                                  meu struts-config
<?xml version="1.0" encoding="ISO-8859-1" ?>
<struts-config>
<data-sources/>

<form-beans>
    	 <form-bean name="formularioExibirInclusaoCargo" 
type="br.gov.am.tce.sap.projeto.cliente.struts.formulario.exibir.FormularioExibirInclusaoCargo"/>
       	 <form-bean name="formularioProcessarInclusaoCargo" 
type="br.gov.am.tce.sap.projeto.cliente.struts.formulario.processar.FormularioProcessarInclusaoCargo"/>
    </form-beans>


<!-- ========================================= Global Exception 
Definitions -->

    <global-exceptions/>        


<!-- =========================================== Global Forward 
Definitions -->

    <global-forwards/>        	 
    
<action-mappings>
			  	
        <action  path="/ExibirInclusaoCargo" type="br.gov.am.tce.sap.projeto.cliente.struts.acao.exibir.AcaoExibirInclusaoCargo" 
name="formularioExibirInclusaoCargo" scope="request" validate="false" >
	  		<forward name="InclusaoCargo" path="/jsp/inclusaoCargo.jsp" />
	  	</action>
	  	
        <action  path="/ProcessarInclusaoCargo" type="br.gov.am.tce.sap.projeto.cliente.struts.acao.processar.AcaoProcessarInclusaoCargo" 
name="formularioProcessarInclusaoCargo" scope="request" validate="false" >
	  		<forward name="InclusaoCargo" path="/jsp/msgSucessoo.jsp" />	  		
	  		<forward name="Erro" path="/jsp/erroRegistroDuplicado.jsp" />
	  		<forward name="Erro1" path="/jsp/erro1.jsp" />
	  	</action>	
	  	
  </action-mappings>
    
<!-- </struts-config>
              meu formulario

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

<html:html locale=“true”>

Inclusão de Cargos



Gerenciar Cargos - Incluir Cargo


<html:form action="/ProcessarInclusaoCargo.do" method=“post” onsubmit=“validarForm()”>
	  			<th>Nome:</th>    	  			
    	  		<td><html:text  property="nome" size="55" maxlength="55" readonly="true" /></td>    	  			

	  			<td><input type="button" value="Confirmar Inclusao" onclick="document.formularioInclusaoCargo.action='/SAP/ProcessarInclusaoCargo.do';submit()"></td>
    			<td><input type="button" value="Limpar" onclick=""></td> 
    			<td>
					<html:link href="javascript:history.back()">Voltar</html:link>
				</td> 		    	  				
	  	
	  	
	</html:form>
</body> 

</html:html>

                    meu fomulariobean
package br.gov.am.tce.sap.projeto.cliente.struts.formulario.processar;

import org.apache.struts.action.ActionForm;

@SuppressWarnings("serial")

public class FormularioProcessarInclusaoCargo extends ActionForm {
	
	
	
	private String nome ;


	
	public String getNome() {
		return this.nome;
	}


	public void setNome(String nome) {
		this.nome = nome;
	}


	
}//fim da classe