Jump to content


Photo

Onchange No Select Abre Outros Campos


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

#1 frango atirador

frango atirador

    Normal

  • Banidos
  • PipPip
  • 107 posts
  • Sexo:Não informado

Posted 17/04/2006, 17:14

Olá gente estou precisando fazer um form, onde ao selecionar uma opção de tipo de dados em um select o formulário exiba um determinado tipo de campo na tela, eu pensei assim:

<select name="slcFormato" size="1" class="form" width="300">
	<option value="0">Selecione uma opção</option>
	<option value="1">SWF ( FLASH )</option>
	<option value="2">IMG ( GIF's Animados/JPG )</option>
	<option value="3">SCRIPTS ( GOOGLE adSence, Submarino, Mercado Livre )</option>
</select>


e ao selecionar uma das opções interagissem com isso:

<script>
	if(slcFormato.selectedItem = 0)
	{
		document.write('Selecione o formato de anúncio que deseja cadastrar');
	}
	else if(slcFormato.selectedItem = 1)
		{
			document.write( ' <label> ' +
						' UpLoad de banner SWF: ' +
						' </label> ' +
						' <br /> ');
			document.write( ' <input '+
						' type="file" ' +
						' name="fileBanner" ' +
						' size="40" /> ');
		}
		else if(slcFormato.selectedItem = 2)
			{
				document.write( ' <label> ' +
							' UpLoad de banner IMG: ' +
							' </label> ' +
							' <br /> ');
				document.write( ' <input '+
							' type="file" ' +
							' name="fileBanner" ' +
							' size="40" /> ');
			}
		else if(slcFormato.selectedItem = 3)
			{
				document.write( ' <label> ' +
							' Enviar SCRIPT: ' +
							' </label> ' +
							' <br /> ');
				document.write( ' <textarea '+
							' name="fileBanner" ' +
							' rows="10" ' +
							' width="500"> ' +
							' </textarea> ');
			}
								
</script>


Alguém pode me ajudar me dizendo como chamar esse script através do onChange() no select acima e se o script está certo?

Fico desde já grato pela ajuda;
Paulo A. Teixeira

#2 edmais

edmais

    Just do it!

  • Usuários
  • 797 posts
  • Sexo:Não informado
  • Localidade:BH - MG

Posted 17/04/2006, 17:32

<select name="slcFormato" size="1" class="form" width="300" onchange="abreopcoes(this.selectedIndex, this);">

	<option value="0">Selecione uma opção</option>

	<option value="1">SWF ( FLASH )</option>

	<option value="2">IMG ( GIF's Animados/JPG )</option>

	<option value="3">SCRIPTS ( GOOGLE adSence, Submarino, Mercado Livre )</option>

</select>



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



<script language="javascript" type="text/javascript">

function abreopcoes(indice, obj)

{

if(obj.options[indice].value == 0)

	{

		document.write('Selecione o formato de anúncio que deseja cadastrar');

	}

	else if(obj.options[indice].value == 1)

		{

			document.write( ' <label> ' +

						' UpLoad de banner SWF: ' +

						' </label> ' +

						' <br /> ');

			document.write( ' <input '+

						' type="file" ' +

						' name="fileBanner" ' +

						' size="40" /> ');

		}

		else if(obj.options[indice].value == 2)

			{

				document.write( ' <label> ' +

							' UpLoad de banner IMG: ' +

							' </label> ' +

							' <br /> ');

				document.write( ' <input '+

							' type="file" ' +

							' name="fileBanner" ' +

							' size="40" /> ');

			}

		else if(obj.options[indice].value == 3)

			{

				document.write( ' <label> ' +

							' Enviar SCRIPT: ' +

							' </label> ' +

							' <br /> ');

				document.write( ' <textarea '+

							' name="fileBanner" ' +

							' rows="10" ' +

							' width="500"> ' +

							' </textarea> ');

			}

}

</script>

Eduardo Batista

#3 frango atirador

frango atirador

    Normal

  • Banidos
  • PipPip
  • 107 posts
  • Sexo:Não informado

Posted 17/04/2006, 17:50

Opa irmao funcionou de boa, mas eu queria que abrisse na mesma pagina ou seja aparecesse o novo campo no formulario atual.

veja o codigo todo:

<form name="fBanner" action="?carregar=comercial.banner.cadastrar.submit" method="post">
											
					<table width="541" border="0" cellspacing="2" cellpadding="0">
					  <tr>
						<td width="344" align="left">
							<label class="raquo_estatisticas">Cliente:</label><br />
							<select name="slcCliente" size="1" class="form">
								<option value="">Selecione uma opção</option>
								<cfoutput query="qCliente">
									<option value="#qCliente.idCliente#">#qCliente.cliente#</option>
								</cfoutput>
						  </select>
						</td>
					  </tr>
					  <tr>
						<td align="left">
							<label class="raquo_estatisticas">Formato:</label><br />
							<select name="slcFormato" size="1" class="form" onchange="abreopcoes(this.selectedIndex, this);">
								<option value="0">Selecione uma opção</option>
								<option value="1">SWF ( FLASH )</option>
								<option value="2">IMG ( GIF's Animados/JPG )</option>
								<option value="3">SCRIPTS ( GOOGLE adSence, Submarino, Mercado Livre )</option>
							</select>
						</td>
					  </tr>
					  <tr>
						<td align="left">
							<script language="javascript" type="text/javascript">
								function abreopcoes(indice, obj)
								{
								if(obj.options[indice].value == 0)
									{
										document.write('Selecione o formato de anúncio que deseja cadastrar');
									}
								else if(obj.options[indice].value == 1)
									{
									document.write( ' <label> ' +
													' UpLoad de banner SWF: ' +
													' </label> ' +
													' <br /> ');
									document.write( ' <input '+
													' type="file" ' +
													' name="fileBanner" ' +
													' size="40" /> ');
									}
								else if(obj.options[indice].value == 2)
									{
										document.write( ' <label> ' +
														' UpLoad de banner IMG: ' +
														' </label> ' +
														' <br /> ');
										document.write( ' <input '+
														' type="file" ' +
														' name="fileBanner" ' +
														' size="40" /> ');
									}
								else if(obj.options[indice].value == 3)
									{
										document.write( ' <label> ' +
														' Enviar SCRIPT: ' +
														' </label> ' +
														' <br /> ');
										document.write( ' <textarea '+
														' name="fileBanner" ' +
														' rows="10" ' +
														' width="500"> ' +
														' </textarea> ');
										}
								}
							</script>
						</td>
					  </tr>
					  <tr>
						<td align="left">
							<label class="raquo_estatisticas">URL do Cliente:</label><br />
							<input name="txtURL" type="text" class="form" size="50" />
						</td>
					  </tr>
					  <tr>
						<td align="left">
							<label class="raquo_estatisticas">Tipo de Banner:</label><br />
							<select name="slcTipo" size="1" class="form">
								<option value="0">Selecione uma opção</option>
								<option value="1">FULL ( 468x60 )</option>
								<option value="2">HALF ( 120x60 )</option>
						  </select>
						</td>
					  </tr>

					  <tr>
						<td align="left">
							<label class="txt_data_leitura">MAX View:</label><br />
							<input name="txtView" type="text" class="form" size="10" />
						</td>
					  </tr>
					  <tr>
						<td align="left">
							<input name="btCadastrarBanner" type="submit" class="form_bt" value="Cadastrar Banner!">
						</td>
					  </tr>
				  </table>
				</form>

Deu pra pegar a ideia?
obrigado
Paulo A. Teixeira

#4 edmais

edmais

    Just do it!

  • Usuários
  • 797 posts
  • Sexo:Não informado
  • Localidade:BH - MG

Posted 17/04/2006, 17:59

Na verdade, se eu fosse você usava o appendChild ao inés de document.write();

;)
Eduardo Batista

#5 frango atirador

frango atirador

    Normal

  • Banidos
  • PipPip
  • 107 posts
  • Sexo:Não informado

Posted 17/04/2006, 18:03

Eu não sei nem oque é apendChild cara.

Teria como fazer isso que eu quero fazer? Você sabe como?
Paulo A. Teixeira




0 user(s) are reading this topic

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

IPB Skin By Virteq