Jump to content


Photo

Função Q Lê Todos Os Input´s,Select´s E Textarea´s


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

#1 anave

anave

    Normal

  • Usuários
  • 107 posts
  • Sexo:Masculino
  • Localidade:Salvador

Posted 14/07/2010, 13:48

Pessoal, tô utilizando uma função que ler todos os inputs, select´s e textareas de um form, e está funcionando, mas precisei acrescentar no form um tinyMCE, mas a rotina ñ lê os dados do tinymce e adiciona ao textarea, ficando ele sempre em branco.
Segue para analise, se puderem me ajudar agradeço + uma vez.
// função permite usar o post e mostrar os dados dentro da div conteudo
function f_ajx(form)
{
 
        var inputs = id(form).getElementsByTagName('input');            // pega todos os input´s do formulário na variavel
        var selects = id(form).getElementsByTagName('select');          // pega todos os select´s do formulário na variavel
        var textareas = id(form).getElementsByTagName('textarea'); // pega todos os textarea´s do formulário na variavel
        

        var inp_d = "";
        var sel_d = "";
        var tex_d = "";
        
        // armazena todos os nomes e inputs e armazena na variavel
        for (var i = 0; i < inputs.length; i++)
        {
                inp_d += inputs[i].name+"="+inputs[i].value+"&";
        }
        
        // armazena todos os nomes e selct´s e armazena na variavel
        for (var i = 0; i < selects.length; i++)
        {
                sel_d += selects[i].name+"="+selects[i].value+"&";
        }
        
        // armazena todos os nomes e textarea´s e armazena na variavel
        for (var i = 0; i < textareas.length; i++)
        {
                tex_d += textareas[i].name+"="+textareas[i].value+"&";
        }
        
        
        // acumula todos os input´s, select´s e textareas na variavel para retornar ao formulário destino
        var dados =inp_d+sel_d+tex_d;
        alert(dados);

        xmlRequest.open("POST",id(form).action,true);
        xmlRequest.setRequestHeader("Content-type","application/x-www-form-urlencoded");
        
        xmlRequest.send(dados);
        xmlRequest.onreadystatechange = function(){
        id("conteudo").innerHTML = xmlRequest.responseText;
        }
}
        
function id(el)
{       return document.getElementById(el); }
forma pela qual chamo a função
 <input type="button" name="enviar" value="<?php echo $acao ;?>" onclick="f_ajx('resultado_di')" /> 


#2 Édipo Costa Rebouças

Édipo Costa Rebouças

    Veterano

  • Ex-Admins
  • 1079 posts
  • Sexo:Masculino
  • Localidade:Brasil - São Paulo

Posted 14/07/2010, 14:08

vc vai ter que usar o metodo .getContent(); para pegar o conteudo do campo com o textarea.

veja esse tópico:

http://tinymce.moxie...ic.php?id=10457

#3 André Manoel

André Manoel

    Doutor

  • Usuários
  • 996 posts
  • Sexo:Masculino
  • Localidade:Brasilia

Posted 14/07/2010, 14:54

é você precisa recuperar o conteúdo do tinymce... pq normalmente ele não envia no post...

Uma vez recuperei o código com a função que o Édipo colocou ... e deu tudo certo...

(y)
Iniciando na Ajuda On line...

Posted Image Meu post lhe ajudou? Reputar/votar é uma das formas de agradecer.

#4 anave

anave

    Normal

  • Usuários
  • 107 posts
  • Sexo:Masculino
  • Localidade:Salvador

Posted 15/07/2010, 14:12

é você precisa recuperar o conteúdo do tinymce... pq normalmente ele não envia no post...

Uma vez recuperei o código com a função que o Édipo colocou ... e deu tudo certo...

(y)


Vc´s poderiam indicar um outro tópico para que eu pesquise, esse está fora do ar...

#5 Édipo Costa Rebouças

Édipo Costa Rebouças

    Veterano

  • Ex-Admins
  • 1079 posts
  • Sexo:Masculino
  • Localidade:Brasil - São Paulo

Posted 15/07/2010, 16:04

Google Cache: http://webcache.goog...lient=firefox-a

#6 anave

anave

    Normal

  • Usuários
  • 107 posts
  • Sexo:Masculino
  • Localidade:Salvador

Posted 16/07/2010, 10:36

Google Cache: http://webcache.goog...lient=firefox-a


Édipo, li o post q vc indicou, mas ainda tô comendo mosca, fiz assim:
<script type="text/javascript">


	tinyMCE.init({
  

		// General options
		mode : "textareas",
		theme : "advanced",
		plugins : "pagebreak,style,layer,table,save,advhr,advimage,advlink,emotions,iespell,inlinepopups,insertdatetime,preview,media,searchreplace,print,contextmenu,paste,directionality,fullscreen,noneditable,visualchars,nonbreaking,xhtmlxtras,template,wordcount,advlist,autosave",

		// Theme options
		theme_advanced_buttons1 : "save,newdocument,|,bold,italic,underline,strikethrough,|,justifyleft,justifycenter,justifyright,justifyfull,styleselect,formatselect,fontselect,fontsizeselect",
		theme_advanced_buttons2 : "cut,copy,paste,pastetext,pasteword,|,search,replace,|,bullist,numlist,|,outdent,indent,blockquote,|,undo,redo,|,link,unlink,anchor,image,cleanup,help,code,|,insertdate,inserttime,preview,|,forecolor,backcolor",
		theme_advanced_buttons3 : "tablecontrols,|,hr,removeformat,visualaid,|,sub,sup,|,charmap,emotions,iespell,media,advhr,|,print,|,ltr,rtl,|,fullscreen",
		theme_advanced_buttons4 : "insertlayer,moveforward,movebackward,absolute,|,styleprops,|,cite,abbr,acronym,del,ins,attribs,|,visualchars,nonbreaking,template,pagebreak,restoredraft",
		theme_advanced_toolbar_location : "top",
		theme_advanced_toolbar_align : "left",
		theme_advanced_statusbar_location : "bottom",
		theme_advanced_resizing : true,

		// Example content CSS (should be your site CSS)
		content_css : "css/content.css",

		// Drop lists for link/image/media/template dialogs
		template_external_list_url : "lists/template_list.js",
		external_link_list_url : "lists/link_list.js",
		external_image_list_url : "lists/image_list.js",
		media_external_list_url : "lists/media_list.js",

		// Style formats
		style_formats : [
			{title : 'Bold text', inline : 'b'},
			{title : 'Red text', inline : 'span', styles : {color : '#ff0000'}},
			{title : 'Red header', block : 'h1', styles : {color : '#ff0000'}},
			{title : 'Example 1', inline : 'span', classes : 'example1'},
			{title : 'Example 2', inline : 'span', classes : 'example2'},
			{title : 'Table styles'},
			{title : 'Table row 1', selector : 'tr', classes : 'tablerow1'}
		],

		// Replace values for the template plugin
		template_replace_values : {
			username : "Some User",
			staffid : "991234"
		}
		
		
	});
	
	function getText()
	{
		var content= tinyMCE.get('txt_resultado').getContent();
		alert(content);
	}
 
 
</script>

<textarea name="txt_resultado" id="txt_resultado" cols="108" rows="23"><?php echo $txt_resultado; ?></textarea>
<input type="button" name="enviar" value="<?php echo $acao ;?>" onclick="getText();f_ajx('resultado_di')"/> 

Ainda ñ está funcionando, vc poderia tentar verificar onde estou errando, coloquei um alert na função e quando ela é executada mostra o valor corretamente, mas ainda ñ está enviando p o textarea. Preciso q seja enviado para o textarea para q possa fazer o processo de inclusão ou alteração.

Edição feita por: anave, 16/07/2010, 10:43.


#7 Édipo Costa Rebouças

Édipo Costa Rebouças

    Veterano

  • Ex-Admins
  • 1079 posts
  • Sexo:Masculino
  • Localidade:Brasil - São Paulo

Posted 16/07/2010, 13:00


function getText()

        {

                document.getElementById('txt_resultado').value =  tinyMCE.get('txt_resultado').getContent();

        }


Edição feita por: Édipo Costa Rebouças, 16/07/2010, 13:00.


#8 anave

anave

    Normal

  • Usuários
  • 107 posts
  • Sexo:Masculino
  • Localidade:Salvador

Posted 16/07/2010, 15:44

function getText()
        {
                document.getElementById('txt_resultado').value =  tinyMCE.get('txt_resultado').getContent();
        }


Muitissimo obrigado, funcionou q tá uma blz..


function getText()
        {
                document.getElementById('txt_resultado').value =  tinyMCE.get('txt_resultado').getContent();
        }


Muitissimo obrigado, funcionou q tá uma blz..


Surgio mais um problema, o textarea ñ está pegando todos as informações digitadas no tinymce, se eu der um alert(document.getElementById('txt_resultado').value = tinyMCE.get('txt_resultado').getContent()), ele mostra todos os dados digitados, mas quando encaminho p gravação ele só tá pegando parte da 1ª linha.


function getText()
        {
                document.getElementById('txt_resultado').value =  tinyMCE.get('txt_resultado').getContent();
        }


Muitissimo obrigado, funcionou q tá uma blz..


function getText()
        {
                document.getElementById('txt_resultado').value =  tinyMCE.get('txt_resultado').getContent();
        }


Muitissimo obrigado, funcionou q tá uma blz..


Surgio mais um problema, o textarea ñ está pegando todos as informações digitadas no tinymce, se eu der um alert(document.getElementById('txt_resultado').value = tinyMCE.get('txt_resultado').getContent()), ele mostra todos os dados digitados, mas quando encaminho p gravação ele só tá pega até aparecer o 1º caracter especial ou ascento.






1 user(s) are reading this topic

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

IPB Skin By Virteq