Ir para conteúdo

POWERED BY:

Arquivado

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

JackDenio

com createElement

Recommended Posts

Bem pessoal..estava tentando fazer algo do tipo..num form a pessoa ao se cadastrar escolhe sua formação, abaixo desse select eu queria colocar "Mais de uma formação?Clique aqui" ai apareceria outro select abaixo com limite de 5, até olhei outro script esse aqui no fórum mesmo, mas como eu sou otimooo em js..hehe.. foi um desastre, não quero que ninguém adapte esse pra mim ..so quero um dica de melhor maneira a fazer isso, uma vez que meu processo de adaptação não deu certo,não conseguir trabalhar muito com o método createElement..se quiserem rir um pouco eu até o posto aqui..mas na verdade se alguém conhece algum caso parecido com que eu disse e me indicasse ficaria grato...Vlw!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

http://afmoraga.wordpress.com/2007/09/20/c...o-firefox-e-ie/

 

http://www.adp-gmbh.ch/web/js/elements/createelement.html

 

Aqui tem a sintaxe, exemplos e outros detalhes

 

http://www.java2s.com/Code/JavaScriptRefer...eateElement.htm

 

Confere o conteúdo e posta seu code aqui se tiver problemas.

Compartilhar este post


Link para o post
Compartilhar em outros sites

E ai ..ainda to da uma olhada melhor e comecei a fazer algo do zero..depois vo postar..mas por agora vo deixar aqui minha tentativa frustrada de adaptação..

function create() {
		var tabela = document.getElementById('form1');
		var lastRow = tabela.rows.length;
		var row = tabela.insertRow(lastRow);	
		var col0 = row.insertCell(0);
		var nr = document.createTextNode(lastRow);
		col0.appendChild(nr);
	
		var col1 = row.insertCell(1);
			var se = document.createElement("select");
			se.name = "Select"+lastRow;
			for (i=0;i<se.options["<?=$tot;?>"];i++) {   ->$tot = número de registros na tabela formação
			se.options[i] = new Option("<?=$formacao;?>","value <?=$id_f;?>");
			}
			col1.appendChild(se);
	
	}
O que eu não to conseguindo fazer é essa intereação no loop, pra preencher dinamicamente meu select..

Vlw!!

 

-----------------------------------------------------------------------------------

Post Mesclado

-----------------------------------------------------------------------------------

 

E ai..segue eu com o mesmo problema.. é o seguinte eu fiz isso baseando no que vi:

<script language="javascript">
function funcao(){
   var mySel = document.getElementById('myBody');
   var se = document.createElement("select");
			se.name = "Select";
			se.options[0] = new Option("selection 1","value 1");
			se.options[1] = new Option("selection 2","value 2");
			se.options[2] = new Option("selection 3","value 3");
			se.options[3] = new Option("selection 4","value 4");
			mySel.appendChild(se);
}
</script>

Beleza..com isso eu consigo criar select tranquilo,mas minhas dúvidas são..como fazer que o se.name seje um nome diferente em cada select que for criado...e como fazer para que o campo new Option tenha valores do loop que eu vou fazer em php...

 

Valeu!

 

-----------------------------------------------------------------------------------

Post Mesclado

-----------------------------------------------------------------------------------

 

E ai galera..to postando aqui como ficou o código pronto graças à ajuda do GuttoSP...

 

function function1(){
		var mybody = document.getElementById('myBody');
		var tot = mybody.rows.length;
		var limite = 5;
		if (tot < limite) {	
			var row = mybody.insertRow(tot);	
			var col0 = row.insertCell(0);
			var nr = document.createTextNode(tot);			
			var col1 = row.insertCell(1);			
			var se = document.createElement("select");
			se.name = "Select"+tot;
			 <?php
			 $sql="select * from formacoes order by formacao desc";
												 $exe=mysql_query($sql, $conexao)or die (mysql_error());
												  for ($i=0;$i<mysql_num_rows($tabela);$i++) {
			 $dados = mysql_fetch_array($tabela);
						 echo "se.options[" . $i . "] = new Option(\"" . $dados['formacao'] . "\",\"" . $dados['id_formacao'] . "\");";
			} ?>
			col1.appendChild(se);
		}
		else {
			document.getElementById('Aviso').innerHTML = "Máximo de  campos já foi atingido";
		}
	}<table width="260" border="0" cellpadding="0" cellspacing="5" id="myBody">
		<thead>
		</thead>
		<tbody>
		</tbody>
 </table>
<a href="#" onClick="function1();">add</a>

 

Vlw velho!! http://forum.imasters.com.br/public/style_emoticons/default/natal_wink.gif

 

-----------------------------------------------------------------------------------

Post Mesclado

-----------------------------------------------------------------------------------

 

Ops..um pequeno probleminha que ta rolando nesse codigo ai galera..qdo vo cadastrar o que me exibe no select , so cadastra um item o ultimo do loop..alguém saberia dizer porque?

 

Vlw!

Compartilhar este post


Link para o post
Compartilhar em outros sites

<?php 

include"../includes/funcoes.php";

 

if (isset($_POST['submit'])) {

$formacao=$_POST['formacao'];

$formacao0=$_POST['formacao1'];

$formacao1=$_POST['formacao2'];

}

$sql="insert into associado (id_formacao,id_formacao1,id_formacao2) values ";

$sql.="('".$formacao."','".$formacao1."','".$formacao2."')";

mysql_query($sql,$conexao)or die (mysql_error());

echo java_alert("Cadastro enviado com sucesso,aguarde nosso contato!");

echo java_href("enviado.php");

?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Funciono..o que estava errado era que

$formacao0=$_POST['formacao1'];
$formacao1=$_POST['formacao2'];
tinha que ser..

$formacao0=$_POST['formacao0'];
$formacao1=$_POST['formacao1'];
Eu pensava que o loop começava no nº 1 :P , que coisa não?

Bem agora sim ta certinho, valeu a ajuda ai mais uma vez GuttoSP !!!

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.