[Ajuda]PHP - Combo Box

MPalhas ja pus id aqui: newElement.setAttribute('id', 'tr_novo_campo')
mas continua a nao fazer nada.

ou tenho de por tr_novo_campo tambem aqui onde tenho id="concurso"?

<td><p>Tipo de Concurso</td>
<td><select onChange="adicionar_campo(this.value)" id="concurso">
<option value="">Tipo de Concurso:</option>
<option value="primeiro">Melhor Wallpaper</option>
<option value="segundo">Melhor Frase</option>
</select></p>
</td>

cumps
 
sorry! erro meu. olha para a função e deves ver duas linhas exactamente iguais ( if(!document.getElement....... ). apaga completamente uma delas e já deve dar
 
MPalhas desculpa la estar a chatera-te mais uma vez mas e o seguinte, a cena ja funciona perfeitamente mas ha uma cena que eu queria alterar, que é onde aparece. eu tenho isto assim:

<script language="javascript">
function adicionar_campo(campo) {
var tabela = document.getElementById("tabelaForm")


if (!document.getElementById('tr_novo_campo')) { //ve se já existe o novo TR, e cria-o se nao houver
var newElement= document.createElement("tr")
newElement.setAttribute('id', 'tr_novo_campo')
tabela.appendChild(newElement)
}

switch (campo) {
case "primeiro":
document.getElementById('tr_novo_campo').innerHTML='<td><p>Imagem do Concurso</td><td><input name=userfile type=file></td>'; //o conteudo do TR muda para o campo escolhido
break;

case "segundo":
document.getElementById('tr_novo_campo').innerHTML='<td><p>Frase</td><td><input type=text name=frase_concurso size=50 maxlength=60></td>';
break;

//etc, etc
}
}
</script>



<form name="concurso" method="post" enctype="multipart/form-data" id="tabelaForm">
<table align="center" border="0">
<tr>
<td><p>Nome</td>
<td><input type="text" name="nome_concurso" size="50" maxlength="60"></p>
</td>
</tr>
<tr>
<td><p>Data</td>
<td><input type="text" name="data_concurso" size="50" maxlength="5"></p>
</td>
</tr>
<tr>
<td><p>Descrição</td>
<td><textarea name="descricao_concurso" cols="37" rows="5"></textarea></p>
</td>
</tr>
<tr>
<td><p>Prémios</td>
<td><textarea name="premios_concurso" cols="37" rows="5"></textarea></p>
</td>
</tr>
<tr>
<td><p>Tipo de Concurso</td>
<td><select onChange="adicionar_campo(this.value)" id="concurso">
<option value="">Tipo de Concurso:</option>
<option value="primeiro">Melhor Wallpaper</option>
<option value="segundo">Melhor Frase</option>
</select></p>
</td>
</tr>


<?php
//if ($tipo_concurso==1){
//echo '<td><p>Imagem do Concurso</td>';
//echo '<td><input name="userfile" type="file"></td>';
//}
//else { if($tipo_concurso==2){
//echo '<td><p>Frase</td>';
//echo '<td><input type=text name="frase_concurso size=50 maxlength=60></td>';}
//}
?>

</table>
<br>
<table border="0" align="center">
<tr>
<td colspan="2" align="center"><input type="submit" value="Criar" name="criar"></td>
</tr>
</table>
</form>

<?php
}
if($ligax) mysqli_close($ligax);
?>


e quando executo o onchange as inputs aparecem-me abaixo do botao criar e eu nao percebo porque.

podes-me ajudar mais uma vez?

cumps

P.S. desculpa ser tao chato
 
aparecem por baixo do botão porque o javascript ao fazer appendChild, vai criar o objecto dentro de um outro objecto (neste caso a tabela), mas adiciona a seguir a todos os objectos já existentes

não me lembro agora como se faz para adicionar a meio da tabela, mas sempre podes por a combobox fora da tabela e aí já não deve haver problemas
 
ja esta, fechei a form antes da table do botao criar e ja deu. depois se for necessario meto outra form para o botao criar so que agora como as inputs estao dentro de java script nao as consigo alinhar ao meio da pagina :(

cumps
 
ja esta, fechei a form antes da table do botao criar e ja deu. depois se for necessario meto outra form para o botao criar so que agora como as inputs estao dentro de java script nao as consigo alinhar ao meio da pagina :(

cumps

se eu meter nas inputs um link para css e alinhar no css as tabelas, e possivel que ele alinhe as inputs ao centro?

e que ja tentei de varias formas mas nao consigo alinhar as inputs que estao no javascrip ao centro.
ja experimentei meter aqui...

switch (campo) {
case "primeiro":
document.getElementById('tr_novo_campo').innerHTML ='<td><p>Imagem do Concurso</td><td><input name=userfile type=file></td>'; //o conteudo do TR muda para o campo escolhido
break;

...onde esta <td>, abrir a <table> e a <tr> antes e o mais esquisito e que se colocar na tag <table> align="center" e border=1, o align nao faz mas o border faz :(

help please

cumps
 
MPalhas continuo com problemas por causa das tabelas. como ja referi atras a combo box quando era seleccionada aparecia sempre no fundo de tudo. eu experimentei meter o que estava abaixo da combo noutra tabela e noutra form que era para aparecer abaixo da combo e dava so que assim nao insere os dados na base de dados da segunda form porque o botao de inserir os dados ta na segunda form e os dados sao introduzidos na primeira, ou seja, a unica maneira e ter o botao dentro da mesma form da combo box mas assim a combo vai me aparecer depois do botao e eu queria que aparecesse antes.

nao sabes como posso resolver isto?

cumps
 
Back
Topo