Jump to content


Photo

Problema Para Carregar Um Combobox No Ie, Via Xajax


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

#1 Bira_UFV

Bira_UFV

    Novato no fórum

  • Usuários
  • 6 posts
  • Sexo:Não informado

Posted 14/03/2007, 11:07

Ae galera, primeiramente gostaria de me apresentar.
Meu nome é Ubirajara e faço ciência da computação na UFV, desenvolvo sistemas em php a um tempo e estou desenvolvendo meu primeiro sistema que utiliza a(s) tecnologia(s) AJAX e para isso estou utilizando a biblioteca XAJAX.

O sistema ja tem bastante coisa funcionado, mas estou com um problema quanto a caregar um combobox via xajax no IE (no firefox esta funcionando)

Meu código está assim

Arquivo ebacuri.php

[codebox]
<?php
session_start();

require_once( 'xajax/xajax.inc.php' );
require_once( 'ebacurifuncoes.php' );

$xajax = new xajax();

$xajax->registerFunction( 'exibe' );

$xajax->statusMessagesOn();
$xajax->debugOn();
$xajax->processRequests();

if( isset( $_SESSION['nomeusu'] ) and isset( $_SESSION['tipousu'] )){

...

<select name="cbxlancenglob" id="cbxlancenglob" tabindex="23" ></select>

...

[/codebox]

arquivo ebacurifuncoes.php
[codebox]
<?php

require_once( 'adodb/adodb.inc.php' );
require_once( 'xajax/xajax.inc.php' );
require_once( 'classes/mystring.php' );
require_once( 'funcoes.php' );
require_once( 'conexao.php' );

function exibe()
{

$objResponse = new xajaxResponse();

$objResponse->addScript( 'document.frmNBCI.edtnbci.focus();' );
$objResponse->addAssign("cbxlancenglob", "innerHTML", optionSN() );
return $objResponse;
}

function optionSN()
{
$resposta = new MyString();
$resposta->append( '<OPTION value="#" > </OPTION>' );
$resposta->append( '<OPTION value="S" > SIM </OPTION>' );
$resposta->append( '<OPTION value="N" > NÃO </OPTION>' );
return $resposta->toString();
}

...

[/codebox]

Estou com o debug ativado como voces podem ver e a resposta do aparentemente esta correta
O mais engraçado é que na pagina de pesquisa uso algo similar para mostar os resultados das pesquisas mas o metodo faz um innerHTML em um div e carrega um lista.

Alguem sabe o porque disso? e como se resolve? Será bug da biblioteca XAJAX?

Edição feita por: Bira_UFV, 14/03/2007, 12:23.

Ubirajara Cesário, --> Bira:]]

"Seja livre use GNU/Linux"
=====================================
Graduando em Ciência de Computação
Universidade Federal de Viçosa - MG
=====================================
Linux User: 176193
UNI: 67659280
MSN: ucesario@hotmail.com

#2 silici0

silici0

    ?

  • Usuários
  • 902 posts
  • Sexo:Masculino
  • Localidade:São Paulo - SP
  • Interesses:PHP, MySQL, XHTML, CSS, AJAX, JavaScript, Objective-C, Python, Games ... #geek

Posted 14/03/2007, 11:51

Fala pra noix oq escreve na saída ae.

Abraços
Procurando freelancer
***********************************************
Bachelor of Technology in Technology of Information, with great knowledge in Windows operating systems and Unix-Like (BSD, Ubuntu and Slackware), languages (PHP, JavaScript and MySQL), semantic (DHTML, Tableless, Ajax, MVC, OO) and analysis (manages projects based on PMI).
Developer in PHP, JAVA, Python, Objective-c MySQL, DHTML, CSS, JAVASCRIPT, JQUERY, JSON, SMARTY, MDB2, DOCTRINE, CAKEPHP. Linux desktop for work and MacOS. E-commerces, CRM and bussiness strategys
Love-me and be FREE use UniCes-Like .

#3 Bira_UFV

Bira_UFV

    Novato no fórum

  • Usuários
  • 6 posts
  • Sexo:Não informado

Posted 14/03/2007, 19:23

O problema é esse, ele não escreve nada no combobox, quanto a saida do debug o texto é o seguinte:

Xajax Debug:
Received:
<?xml version="1.0" encoding="utf-8" ?><xjx><cmd N="as" t="cbxlancenglob" p="innerHTML"><![CDATA[<option value="#" > </option><option value="S" > SIM </option><option value="N" > Não </option>]]></cmd></xjx>


Lembrando que no Firefox funciona perfeitamente

Ae, galera, alguem tem alguma idéia, de como resolver isso?

Galera, para ficar melhor exemplificado e mostrar o que realmente está acontecendo, fiz um teste

O teste é composto de 2 arquivos, seguindo o padrão da aplicação.

Arquivo teste.php
<?phpsession_start();require_once( 'xajax/xajax.inc.php' );require_once( 'testefuncoes.php' );$xajax = new xajax();$xajax->registerFunction( 'exibe' );	$xajax->processRequests();//$xajax->statusMessagesOn();//$xajax->debugOn();?>	<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html xmlns="http://www.w3.org/1999/xhtml"><head>	<meta name="Author" content="Ubirajara Cesario">	<meta http-equiv="Content-Language" content="pt_BR">	<meta http-equiv="Cache-Control" content="No-Cache">	<meta http-equiv="Pragma" content="No-Cache">	<meta content="text/html; charset=UTF-8" http-equiv="content-type">	<title>e-Bacuri</title>	<link type="text/css" rel="stylesheet" href="styles.css">		<?php	$xajax->printJavascript( 'xajax/' ); 	?>	</head><body onload="java script:xajax_exibe();">&lt;script type="text/javascript"><!--xajax.loadingFunction = function(){xajax.$('carregando').style.display='block';};xajax.doneLoadingFunction = function(){xajax.$('carregando').style.display='none';};--></script><div id="carregando" name="carregando">Carregando...</div><div id="conteudo" name="conteudo"><form name="frmNBCI" id="frmNBCI"><select name="cbxlancenglob" id="cbxlancenglob" tabindex="1" ></select></form></div></body><html>

Aquivo testefuncoes.php
<?phprequire_once( 'xajax/xajax.inc.php' );function exibe(){	$objResponse = new xajaxResponse();	$objResponse->addAssign("cbxlancenglob", "innerHTML", optionSN() );	return $objResponse;}function optionSN(){	$resposta = new MyString();	$resposta->append( '<option value="#" >     </option>' );	$resposta->append( '<option value="S" > SIM </option>' );	$resposta->append( '<option value="N" > NÃO </option>' );	return $resposta->toString();}class MyString {	private $texto;		public function __construct() 	{		$this->texto = "";	}		public function __destruct() 	{			}		public function append( $s ) 	{		$this->texto .= ( string ) $s;	}		public function toString() 	{		return utf8_encode( $this->texto );	}	}

Executando no firefox, funciona perfeitamente, já no IE o combobox ( <select><select name="cbxlancenglob" id="cbxlancenglob" tabindex="1" ></select> </select> ) não é preenchido mas não é geredo nenhum erro.

A resposta do debug, quando ativado, é a mesma postada acima.

Edição feita por: Bira_UFV, 14/03/2007, 19:27.

Ubirajara Cesário, --> Bira:]]

"Seja livre use GNU/Linux"
=====================================
Graduando em Ciência de Computação
Universidade Federal de Viçosa - MG
=====================================
Linux User: 176193
UNI: 67659280
MSN: ucesario@hotmail.com

#4 jcruciti

jcruciti

    Novato no fórum

  • Usuários
  • 1 posts
  • Sexo:Não informado

Posted 07/05/2008, 18:14

Caros, boa tarde.

Estou exatamente com o mesmo problema, tanto no IE6 quanto no IE7.

No meu caso, tenho três combos que são carregados em cascata. No Firefox está funcionando perfeitamente.

Com o debug ativado, ele chega até a trazer os dados do BD para o XML, mas não popula o combo.

Alguém já passou por isso? Alguém pode ajudar?

Obrigado.






1 user(s) are reading this topic

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

IPB Skin By Virteq