Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

phzgyn

Ao carregar pagina em div, javascript nao funciona

Recommended Posts

Olá,

 

sou novo no forum e tenho essa duvida a algum tempo, creio que aqui é o lugar certo para ela. trabalhar com ajax é novo para mim e estou tentando utiliza-lo para facilitar tudo...rs

Antes de criar o topico procurei mas não encontrei.

 

Estou utilizando o IE 6 e o firefox 3.6

 

Vamos ao meu problema,

 

minha pagina principal, que chama todas as outras é a index.php, e esta dividida em <div id="painelMenu"> e <div id="painelConteudo">. A parte do painelMenu utiliza um loadPage:

<script type="text/javascript" language="javascript">function loadPage(url) { $.ajax({url: url,success: function(result){$("#dadosProduto").html(result);}});}</script>
Esse load é responsavel por carregar formulario, listagem na parte painelConteudo.

 

Primeiro fiz uma pagina de formulario com validação e envio com jquery e testei, tudo oK. Depois apaguei todos os codigos da pagina e deixei apenas a parte do formulario:

formularioProduto.php

			<fieldset class="formulario" style="width:270px;">
            	<legend class="title">CADASTRAR PRODUTO</legend>
			<form name="formProduto" id="formProduto" action="" style="text-align:left;width:230px;height:180px;margin-left:20px">
                <div class="campoForm">
			    <label for="description" id="description_label">Descrição:</label><label class="error" for="description" id="description_error"> *Campo Obrigatório.</label>
			    <input type="text" name="description" id="description" size="30" value="" class="dataInput"/>
                </div>
                <div class="campoForm">
			    <label for="numero" id="numero_label">Número:</label><label class="error" for="numero" id="numero_error"> *Campo Obrigatório.</label>
			    <input type="text" name="numero" id="numero" size="30" value="" class="dataInput" />
                </div>
                <div class="campoForm">
			    <label for="valor" id="valor_label">Valor:</label><label class="error" for="valor" id="valor_error"> *Campo Obrigatório.</label>
			    <input type="text" name="valor" id="valor" size="30" value="" class="dataInput" />
                </div>
                <div style="width:210px;text-align:right">
		        <input type="button" name="submit" class="button" id="enviar" value="CADASTRAR"/>
                </div>
			</form>
		    </fieldset>

O problema é que o formulario quando carregado pelo loadpage não funciona nada do jquery, o envio, validação, absolutamente nada. Só funciona se eu criar uma copia do index e adicionar o formulario no conteudo, tendo que carregar uma nova pagina completa.

 

O conteudo carregado na nova pagina deve ter o proprio codigo javascript? Como faço para o javascript da pagina principal ser utilizado na pagina carregada?

 

O navegador é o problema?

 

Segue um pouco mais completo o codigo da minha pagina

...
<script src="js/jquery-1.3.2.min.js" type="text/javascript" language="javascript"></script>
<script src="js/formAjax.js" type="text/javascript" language="javascript"></script>
<script type="text/javascript" language="javascript">
	function loadPage(url) { $.ajax({url: url,success: function(result){$("#dadosProduto").html(result);}});}
</script>
</head>
<body>
<div id="container">
	<div id="painelMenu">
   	<fieldset>
      	<legend class="menu">MENU</legend>
        <a class="menuOption" href="javascript:void(0);" onclick="loadPage('formProduto.php');">CADASTRO</a><br />
        <a class="menuOption" href="javascript:void(0);" onclick="loadPage('listarProdutos.php');">LISTAR</a>
      </fieldset>
    </div>
    <div id="painelConteudo">
	    <div id="dadosProduto" style="margin-top:50px;width:602px;height:582px;text-align:center;margin-left:40px;_margin-left:0px;">
		<script> loadPage("formProduto.php");//esse formulario é carregado mas nao funciona nada que nao seja o html </script>
        </div>
    </div>
<!-- Fim Espaço Dados -->
</div>
<!-- fim div container -->
</body>

 

desde já agradeço,

 

Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

haha

 

engraçado ate, estou tendo exatamente o mesmo problema!

 

qualquer script que eu tenha colocado no meu formulario praticamente "desaparece" quando a pagina é carregada dentro de um div. Assim acontece quando tento enviar o dados do form para o banco de dados e nada.

 

for a da div, funciona tranquilamente. Dentro da div = dor de cabeça.

 

Nenhuma solução? Y.Y

 

Abraços "

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu não entendi por que usar isso:

 

function loadPage(url) { $.ajax({url: url,success: function(result){$("#dadosProduto").html(result);}});}
Ao invés disso:

 

function loadPage(url) {
	$("#dadosProduto").load(url);
}

// Ah sim, entendi.

 

Os códigos JS de validação, a biblioteca jQuery e etc. devem ficar dentro da página que será carregada, do contrário não funcionará.

Compartilhar este post


Link para o post
Compartilhar em outros sites

// Ah sim, entendi.

 

Os códigos JS de validação, a biblioteca jQuery e etc. devem ficar dentro da página que será carregada, do contrário não funcionará.

 

Olá Eliseu, como assim colocar o JS etc, dentro da página que vai ser carregada? O problema em questão é uma div que é carregada dentro de outra div e não uma página externa. Esse exemplo de carregar a div você pode ver nesse linkClique aqui. Estou com um problema igual ao do amigo que abriu o tópico, na primeira div a "default" estou usando um JavaScript para centralizar as imagens dentro de uma div na vertical, nessa página o script funciona perfeitamente, porém ao carregar a segunda div o script não funciona, alguém por favor sabe como solucionar isso?

 

Desde já eu agradeço!

 

[]s

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.