Jump to content


Photo

Ajax - Biblioteca Xajax


  • Faça o login para participar
87 replies to this topic

#31 gennf

gennf

    A Solução está ai...

  • Usuários
  • 645 posts
  • Sexo:Masculino
  • Localidade:Belo Horizonte - MG

Posted 26/06/2006, 17:50

Exatamente.

<select name="cidade" onclick="xajax_pegarCidade(xajax.getFormValues('Cidade')); return false;" size="1">
<option value="SP">São Paulo</option>
<option value="RJ">Rio de Janeiro</option>
</select>


E tirei o primeiro botão deixando apenas o segundo.

Té mais ;)

Edição feita por: gennf, 26/06/2006, 17:50.

Portal BatePapoBrasil
URL: www.batepapobrasil.com

----------------------------
Site desenvolvidos
URL:
VitrineABC :: Alugue Litoral :: OrtodontiaLago

#32 Paulo André

Paulo André

    Why so serious?

  • Ex-Admins
  • 5114 posts
  • Sexo:Masculino
  • Localidade:Belo Horizonte - MG
  • Interesses:O.Q.F.J.?

Posted 26/06/2006, 17:54

Não, você não percebeu.. :D
É onchange que eu escrevi. :P

Flws...
;-)Até mais
Paulo André G Rodrigues,
ex-administrador Fórum WMO.


www.CanalDev.com.br

#33 gennf

gennf

    A Solução está ai...

  • Usuários
  • 645 posts
  • Sexo:Masculino
  • Localidade:Belo Horizonte - MG

Posted 26/06/2006, 19:05

Desculpa :P

Falta de atenção :dah:

Funcionou do jeito que vc disse, mas, continua não enviando os dados. E mais. Se eu colocar o botão SBMIT em baixo da DIV que mostrará o outro select os dados do segundo SELECT não aparece. :(Vou postar aqui denovo pra vc ver como está. :huh:

tabela

CREATE TABLE `wss2_cidades` (
`id_cidade` int(11) NOT NULL auto_increment,
`nome_cidade` varchar(100) NOT NULL,
`estado_cidade` varchar(100) NOT NULL,
`estado_num_cidade` varchar(10) NOT NULL,
PRIMARY KEY (`id_cidade`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=13 ;

dados

INSERT INTO `wss2_cidades` VALUES (6, 'Guarujá', 'SP', '26');
INSERT INTO `wss2_cidades` VALUES (7, 'Santos', 'SP', '26');
INSERT INTO `wss2_cidades` VALUES (8, 'Rio de Janeiro', 'RJ', '19');
INSERT INTO `wss2_cidades` VALUES (10, 'Niteroi', 'RJ', '19');
INSERT INTO `wss2_cidades` VALUES (11, 'Salvador', 'BA', '5');
INSERT INTO `wss2_cidades` VALUES (12, 'Porto Seguro', 'BA', '5');

pegar_cidade.php

<?
require_once("xajax.inc.php");
$xajax = new xajax();
function pegarCidade($cidade){
$resposta = new xajaxResponse();
$cidade2 = $array = $cidade;
ob_start();
include("select_cidade.php");
$res = ob_get_contents();
ob_end_clean();
$resposta -> addAssign("carregando", "style.display", "none");
$resposta -> addAssign("phpinfo", "innerHTML", $res);
return $resposta -> getXML();
}
$xajax -> registerFunction("pegarCidade");
$xajax -> processRequests();
?>

<html>
<head>
<?php $xajax -> printJavascript(); ?>
</head>
<body>

<form name="Cidade" onsubmit="return false;" method="POST">
<select name="cidade" size="1" onchange="xajax_pegarCidade(xajax.getFormValues('Cidade')); return false;">
<option>-------------------</option>
<option value="SP">São Paulo</option>
<option value="RJ">Rio de Janeiro</option>
</select>
<BR><div id="phpinfo"></div>
<BR><input type="submit" name="cadastrar" value="Cadastrar">
</form>

</body>
</html>

select_cidade.php

<?

$conexao = @mysql_connect("localhost", "root", "523276") or die ("Não foi possível conectar-se ao servidor MySQL");
$db = @mysql_select_db("projeto") or die ("Não foi possível selecionar o banco de dados <b>$dbname</b>");

foreach($array as $v => $valor){
$sig_est = "$valor";
}

$sql = mysql_query("SELECT * FROM wss2_cidades WHERE estado_cidade='$sig_est'") or die(mysql_error());
echo"<select name='cidade'>";
WHILE($x = mysql_fetch_array($sql)){
extract($x);
echo"<option value=$nome_cidade>$nome_cidade</option>";
}
echo"</select>";
?>


Té mais ;)
Portal BatePapoBrasil
URL: www.batepapobrasil.com

----------------------------
Site desenvolvidos
URL:
VitrineABC :: Alugue Litoral :: OrtodontiaLago

#34 Paulo André

Paulo André

    Why so serious?

  • Ex-Admins
  • 5114 posts
  • Sexo:Masculino
  • Localidade:Belo Horizonte - MG
  • Interesses:O.Q.F.J.?

Posted 27/06/2006, 08:43

Veja minhas mudanças:
<?
require_once("xajax.inc.php");
$xajax = new xajax();
function pegarCidade($array){
 $resposta = new xajaxResponse();
  ob_start();
   include("select_cidade.php");
   $res = ob_get_contents();
  ob_end_clean();
 $resposta -> addAssign("carregando", "style.display", "none");
 $resposta -> addAssign("phpinfo", "innerHTML", $res);
return $resposta -> getXML();
}
$xajax -> registerFunction("pegarCidade");
$xajax -> processRequests();
?>

<html>
<head>
<?php $xajax -> printJavascript(); ?>
</head>
<body>

<form name="form" onsubmit="return false;" method="POST">
<select name="estado" size="1" onchange="xajax_pegarCidade(xajax.getFormValues('form')); return false;">
  <option>-----------</option>
  <option value="SP">São Paulo</option>
  <option value="RJ">Rio de Janeiro</option>
  <option value="BA">Bahia</option>
</select>
<BR><div id="phpinfo"></div>
<BR><input type="submit" name="cadastrar" value="Cadastrar">
</form>

</body>
</html>
<?
include("config.php");

$estado = $array[estado];

$sql = mysql_query("SELECT * FROM wss2_cidades WHERE estado_cidade='$estado'") or die(mysql_error());
echo"<select name='cidade'>";
while($x = mysql_fetch_array($sql)){
  extract($x);
  echo"<option value=$nome_cidade>$nome_cidade</option>";
}
echo"</select>";
?>

Ao selecionar o estado me foi retornado as cidades cadastradas.

Flws...
;-)Até mais
Paulo André G Rodrigues,
ex-administrador Fórum WMO.


www.CanalDev.com.br

#35 gennf

gennf

    A Solução está ai...

  • Usuários
  • 645 posts
  • Sexo:Masculino
  • Localidade:Belo Horizonte - MG

Posted 27/06/2006, 19:42

Opa, e ai Frenesi (y)

Muito obrigado cara, mas, ainda não está dando pra enviar o formulário.

Quando clica em cadastrar nada acontece, sendo que deveria ir pelomenos pra uma pagina não existente.

Porque será?

Té mais, e muito obrigado pela ajuda ;)
Portal BatePapoBrasil
URL: www.batepapobrasil.com

----------------------------
Site desenvolvidos
URL:
VitrineABC :: Alugue Litoral :: OrtodontiaLago

#36 Paulo André

Paulo André

    Why so serious?

  • Ex-Admins
  • 5114 posts
  • Sexo:Masculino
  • Localidade:Belo Horizonte - MG
  • Interesses:O.Q.F.J.?

Posted 27/06/2006, 19:52

Bom, pelo menos uma coisa que não funcionava já está funcionando né? :D
Ok, quando eu estiver em um PC que eu possa testar isso eu dou uma olhada, no momento estou na facul. :P
EDIT: Para qual página deve ser enviado o formulário? Tente tirar o onsubmit="return false;" e colocar o action.

Flws...
;-)Até mais

Edição feita por: Frenesi, 27/06/2006, 19:55.

Paulo André G Rodrigues,
ex-administrador Fórum WMO.


www.CanalDev.com.br

#37 gennf

gennf

    A Solução está ai...

  • Usuários
  • 645 posts
  • Sexo:Masculino
  • Localidade:Belo Horizonte - MG

Posted 27/06/2006, 23:19

Opa!!!

Deu tudo certo :P

Valeu mesmo Frenesi, o problema agora é que eu precisava disso pra pegar tres selects. :P

Será que tem jeito?

Aguardo respostas ;)

E brigadão mesmo ;)

Edição feita por: gennf, 27/06/2006, 23:21.

Portal BatePapoBrasil
URL: www.batepapobrasil.com

----------------------------
Site desenvolvidos
URL:
VitrineABC :: Alugue Litoral :: OrtodontiaLago

#38 Paulo André

Paulo André

    Why so serious?

  • Ex-Admins
  • 5114 posts
  • Sexo:Masculino
  • Localidade:Belo Horizonte - MG
  • Interesses:O.Q.F.J.?

Posted 28/06/2006, 09:06

Fiz um exemplo usando ruas:
pegar_cidade.php
<?
require_once("xajax.inc.php");
$xajax = new xajax();
function pegarCidade($array){
 $resposta = new xajaxResponse();
  ob_start();
   include("select_cidade.php");
   $res = ob_get_contents();
  ob_end_clean();
 $resposta -> addAssign("carregando", "style.display", "none");
 $resposta -> addAssign("cidades", "innerHTML", $res);
return $resposta -> getXML();
}

function pegarRua($array){
 $resposta = new xajaxResponse();
  ob_start();
   include("select_rua.php");
   $res = ob_get_contents();
  ob_end_clean();
 $resposta -> addAssign("carregando", "style.display", "none");
 $resposta -> addAssign("ruas", "innerHTML", $res);
return $resposta -> getXML();
}

$xajax -> registerFunction("pegarCidade");
$xajax -> registerFunction("pegarRua");
$xajax -> processRequests();
?>

<html>
<head>
<?php $xajax -> printJavascript(); ?>
</head>
<body>

<form name="form" action="cadastrar.php" method="POST">
<select name="estado" size="1" onchange="xajax_pegarCidade(xajax.getFormValues('form')); return false;">
  <option>-----------</option>
  <option value="SP">São Paulo</option>
  <option value="RJ">Rio de Janeiro</option>
  <option value="BA">Bahia</option>
</select>
<BR><div id="cidades"></div>
<div id="ruas"></div>
<BR><input type="submit" name="cadastrar" value="Cadastrar">
</form>

</body>
</html>

select_cidade.php
<?
include("config.php");

$estado = $array[estado];

$sql = mysql_query("SELECT * FROM wss2_cidades WHERE estado_cidade='$estado'") or die(mysql_error());
echo"<select name='cidade' onchange=\"xajax_pegarRua(xajax.getFormValues('form')); return false;\">";
echo"<option>------</option>";
while($x = mysql_fetch_array($sql)){
  extract($x);
  echo"<option value='$nome_cidade'>$nome_cidade</option>";
}
echo"</select>";
?>

select_rua.php
<?
include("config.php");

$cidade = $array[cidade];

$sql = mysql_query("SELECT * FROM rua WHERE cidade = '$cidade'") or die(mysql_error());
echo"<select name='rua'>";
echo"<option>------</option>";
while($x = mysql_fetch_array($sql)){
  extract($x);
  echo"<option value='$id'>$nome</option>";
}
echo"</select>";
?>

Flws...
;)Até mais
Paulo André G Rodrigues,
ex-administrador Fórum WMO.


www.CanalDev.com.br

#39 gennf

gennf

    A Solução está ai...

  • Usuários
  • 645 posts
  • Sexo:Masculino
  • Localidade:Belo Horizonte - MG

Posted 28/06/2006, 09:28

Olha só, até ue não estou tão burro assim :P

Ontem meia noite e alguma coisa eu estava mexendo com isso e fiz a mesma coisa que vc. Só que no meu caso não deu tão certo assim.

Certos dados do segundo select quando eu selecionava não traziam o resultado esperado ficavam em branco. Tentei achar um padrão pra ver o que estava acontecendo mas não consegui. Certas horas era a primeira opção, outras horas a segunda opção. Mas sempre os mesmos, foi o unico padrão que encontrei.

Cehgando em casa testarei o seu pra ver se não acontece o mesmo.

Muito obrigado mais uma vez Frenesi.

Vc da as mãos e depois as pessoas querem os braços as pernas. Ta doido!!!
Desculpa ai qualquer coisa :P , mas é por uma calsa nobre. :P

Edição feita por: gennf, 28/06/2006, 09:28.

Portal BatePapoBrasil
URL: www.batepapobrasil.com

----------------------------
Site desenvolvidos
URL:
VitrineABC :: Alugue Litoral :: OrtodontiaLago

#40 Paulo André

Paulo André

    Why so serious?

  • Ex-Admins
  • 5114 posts
  • Sexo:Masculino
  • Localidade:Belo Horizonte - MG
  • Interesses:O.Q.F.J.?

Posted 28/06/2006, 09:35

Na verdade, o meu deve ter ficado igual o seu também. Porque o meu não deu 100% certo.. :assobio:
Tipo, deu problema quando você selecionou "Guarujá" certo? Bingo! é por causa de caracteres especiais... Eu troquei por Campinas e funcionou... :P

Agora tem é que ver uma forma de passar por isso, no mais está certo..

Flws...
^_^ Até mais
Paulo André G Rodrigues,
ex-administrador Fórum WMO.


www.CanalDev.com.br

#41 hostdesigner

hostdesigner

    Super Veterano

  • Usuários
  • 2910 posts
  • Sexo:Masculino
  • Localidade:Quirinópolis-GO
  • Interesses:Programação, Mulheres, Diversão, Mulheres, Música, Mulheres, Meu Carro, Mais mulheres, Internet, Outras Mulheres, Quase por último PAZ e por ultimo Outras Váááárias Mulheres...

Posted 11/07/2006, 17:48

Hoje eu estava testando algumas possibilidades utilizando o XAJAX e me deparei com um problema meio estranho...

Eu utilizei as instruções PHP para criar as funcoes em JS e tudo funciona normalmente... ai eu pensei eu poderia criar uma busca e listar os arquivos de um diretorio...

Fiz e funcionou, depois eu pensei, por que não criar um link no nome do arquivo para preencher o valor de algum campo para depois renomea-lo?

Fiz utilizando uma funcao simples através do JS na própria página e advinhem!! Sempre dá um erro maluco no IE e no FF aparece outro campo de texto dentro do campo de texto que selecionei para receber o valor...

Alguém poderia me dizer o que está causando isso?


Veja como ficou aqui...

Online http://www.videologt.../listaFiles.php

Source:
<?PHP
require_once("xajax/xajax.inc.php");

$xajax = new xajax();

function buscaFile($id){
  $resposta = new xajaxResponse();

//str_replace("../arquivos/", "", $res);
foreach (glob("../arquivos/*". $id ."*.*") as $filename) {

	$res .= "<li> <a href=\"java script:;\" onClick=\"enviar('$filename')\"> Arquivo encontrado: ". $filename . " com ". filesize($filename) . " Bytes </a> </li>";

}

  $resposta -> addAssign("conteudo", "innerHTML", "");
  $resposta -> addAssign("carregando", "style.display", "none");
  $resposta -> addAssign("conteudo", "innerHTML", nl2br("<ol>". $res ."</ol>"));
  return $resposta -> getXML();
}
$xajax -> registerFunction("buscaFile");

$xajax -> processRequests();

?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Busca arquivos nulos</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<?PHP $xajax -> printJavascript("xajax/") ?>
</head>

<body>
<script language="JavaScript">
function enviar(valor){

	document.getElementById("renomear").innerHTML =  valor;
}
</script>
<div id="tudo">
<div id="carregando">Carregando...</div>
</div>

<div id="conteudo"> </div>
<div id="botao"></div>
<div id="botao" onClick="enviar('Alguem')">teste</div>
<form name="busca">
	<input name="arquivo" type="text" id="arquivo" size="35">
	<input type="button" name="Submit" value="procurar o arquivo"  onclick="xajax_buscaFile(getElementById('arquivo').value); document.getElementById('carregando').style.display = 'inline';">
  </form>


<form name="renomeia">
  Arquivo original:<br>
  <input name="original" type="text" id="original" size="60">
  <br>
  Renomear para:<br>
  <input name="renomear" type="text" id="renomear" size="36">
  <input type="button" name="Submit2" value="Renomear arquivo">
</form>
</body>
</html>

Falopa!

#42 together

together

    AFCweb

  • Usuários
  • 282 posts
  • Sexo:Masculino
  • Localidade:Araraquara - SP
  • Interesses:aaaa

Posted 11/07/2006, 18:45

alguem pode me da uma mao.... instalei certinho como manda o tuto...
ai copiei o arquivo soh pra v c tava funcionando... deu esse erro:

Error: the XML response that was returnet the server is invalid
Recivied:
<br>
<b>Fatal error</b>: Call to undefined function: is_a() in
<b>C:\apache\htdocs\xajax\xajax.inf.php</b> on line 658<br>

You have whitespcace in your response



o que pode ser ??
obrigado

#43 hostdesigner

hostdesigner

    Super Veterano

  • Usuários
  • 2910 posts
  • Sexo:Masculino
  • Localidade:Quirinópolis-GO
  • Interesses:Programação, Mulheres, Diversão, Mulheres, Música, Mulheres, Meu Carro, Mais mulheres, Internet, Outras Mulheres, Quase por último PAZ e por ultimo Outras Váááárias Mulheres...

Posted 11/07/2006, 18:57

Esse erro aparece quando a funçao nao esta devidamente definida...

Confere ai que deve ter algum erro na sua funcao

Falopa!

#44 together

together

    AFCweb

  • Usuários
  • 282 posts
  • Sexo:Masculino
  • Localidade:Araraquara - SP
  • Interesses:aaaa

Posted 11/07/2006, 19:00

Esse erro aparece quando a funçao nao esta devidamente definida...

Confere ai que deve ter algum erro na sua funcao

Falopa!



to usando um dos exemplos daqui...

<?php
require_once("xajax.inc.php");

$xajax = new xajax();

function pegarHora($display)
{
$resposta = new xajaxResponse();
$hora = date("H:i:s");
if($display == 1)
{
$resposta -> addAssign("hora", "style.display", "inline");
$resposta -> addAssign("hora", "innerHTML", $hora);
} else
{
$resposta -> addAssign("hora", "style.display", "none");
}
return $resposta -> getXML();
}

$xajax -> registerFunction("pegarHora");

$xajax -> processRequests();
?>
<html>
<head>
<?php $xajax -> printJavascript(); ?>
</head>
<body>

<div id="botao"><a href="#" onclick="xajax_pegarHora(1);">Ver Hora</a> - <a href="#" onclick="xajax_pegarHora(0);">Ocultar Hora</a></div>

<div id="hora" style="width: 100px; border: 1px dashed #666666;"></div>

</body>
</html>



tambem testei um dos testes q vem com ele e da o mesmo erro!!!

obs: mandei pro servidor funciono =\
http://www.afcweb.co...xajax/teste.php

ainda naum consegui rodar localmente... se alguem puder reponder agradeço...

bom consegui fazer isso com o tuto..
http://www.afcweb.com.br/xajax/a.php

como faço para o div Carregando não aparecer no começo?? pq se não clicar em nada ele fica ali..

obrigado

Edição feita por: together, 12/07/2006, 01:48.


#45 Paulo André

Paulo André

    Why so serious?

  • Ex-Admins
  • 5114 posts
  • Sexo:Masculino
  • Localidade:Belo Horizonte - MG
  • Interesses:O.Q.F.J.?

Posted 12/07/2006, 08:02

como faço para o div Carregando não aparecer no começo?? pq se não clicar em nada ele fica ali..

Qual div carregando? :huh:
Se quiser colocar no teu script é só definir ela como oculta (style->display->none) e no momento de rodar o script mude para 'inline'.

Flws..
(y)Até mais
Paulo André G Rodrigues,
ex-administrador Fórum WMO.


www.CanalDev.com.br




2 user(s) are reading this topic

0 membro(s), 2 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq