Jump to content


Rosemeire da Silva

Member Since 24/07/2006
Offline Last Active 04/10/2006, 10:00
-----

Topics I've Started

Enviar Campos Checkbox Por Ajax

30/08/2006, 08:51

Alguem sabe como posso recuperar os checkbox selecionados do form,
e utilizados no script php que e atualizado com ajax na index ??

:P





Galerinha consegui fazer... eh o seguinte, primeiramente precisamos de uma função que resgata todos os valores do form...

os nomes no checkbox ficaram assim:

op_1, op_2 e assim por diante



function getFormValues(i, form_name){
		var str = "";
		document.forms[i].name = form_name;
		var formObject = document.forms[i];

		for(var n = 0; n < formObject.elements.length; n++) {
			// alert(' n: '+n+formObject.elements[n].type+' '+formObject.elements[n].name+'\n'+formObject.elements[n].value);
			if(formObject.elements[n].type == "radio") {
				if(!str) {
					if(formObject.elements[n].checked == true) {
						str = formObject.elements[n].name + '=' + encodeURIComponent(formObject.elements[n].value);
					} else {
						str = str;
					}
				} else {
					if(formObject.elements[n].checked == true) {
						str = str + '&' + formObject.elements[n].name + '=' + encodeURIComponent(formObject.elements[n].value); 
					} else {
						str = str;
					}
				}
			} else
			if(formObject.elements[n].type == "checkbox") {
				if(!str) {
					if(formObject.elements[n].checked == true) {
						str = formObject.elements[n].name + '=' + encodeURIComponent(formObject.elements[n].value);
					} else {
						str = str;
					}
				} else {
					if(formObject.elements[n].checked == true) {
						str = str + '&' + formObject.elements[n].name + '=' + encodeURIComponent(formObject.elements[n].value); 
					} else {
						str = str;
					}
				}
			} else if(formObject.elements[n].type == "button") {
				str = str;
			} else {
				if(!str) {
   					str = formObject.elements[n].name + '=' + encodeURIComponent(formObject.elements[n].value);
				} else {
						str = str + '&' + formObject.elements[n].name + '=' + encodeURIComponent(formObject.elements[n].value);
				}
			}
		}
		return (str);
   }


A função monta uma string com os valores para enviar pro script separados por '&', só coloca na string os checkbox que foram checados;

http_request.open(POST,url,true);
http_request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
http_request.send(str);

Você utiliza o método post pra enviar os parametros pro script (url)... No script você:
   $id = ($_POST['id']);// são campos do formulário;
   $limit = $_POST['limit'] - 1;// hidden com o números de checkbox 
   $v_descricao = utf8_decode($_POST['tf_descricao']);// o utf8_decode recupera o valor do campo com a acentuação correta

pra verificar os checkbox:

   for ($i=0;$i<=$limit;$i++){
	 if (!is_null($_POST['op_'.$i])) {
		 // inseri os valores do checkbox na tabela;
	 } 
   }



Espero ter contribuido com a lógica de raciocinio... Quem tiver outra idéia... posta ai pra conhecermos... :P

Um abração

Parâmetro Para Outro Script No Xajax

26/07/2006, 10:01

Galera é o seguinte...

Possuo um script que precisa de um parâmetro que atribui a uma variavel:

$usuario_logado = 1;

Preciso passar este parametro para o script pesquisa.php que será atualizado na div "resultado" com o XAJAX.

Alguem sabe como passo essa variavel? :unsure:

Agradecida pela atenção

Xajax E Acentuação

24/07/2006, 17:58

Primeiramente quero elogiar o artigo... que facilitou a minha vida... :rolleyes:

http://forum.wmonlin...o...151667&st=0

AJAX COM XAJAX

Bom estou com problema de acentuação. Criei está função em php:

function AtualizaForm($div, $form){
$objResponse = new xajaxResponse();
$res = file_get_contents($form);
$objResponse -> addAssign($div, "innerHTML", $res);
return $objResponse->getXML();
}


$xajax = new xajax();
$xajax->registerFunction("AtualizaForm");
$xajax->processRequests();

Que irá atualizar os formulários que preciso na div que eu passar por parametro.
Só que o script em html, ou php possue acentuação e sempre dá erro quando está carregando a página...
Tem alguma solução já no XAJAX... pq encontrei essa solução em uma rotina que utilizava unescape...

Sabe como posso fazer pra não ter esse problema...???

IPB Skin By Virteq