Ir para conteúdo


Foto

Como add um campo dinamicamente em um form?


  • Por favor, faça o login para responder
7 respostas neste tópico

#1 frangelli

frangelli

    Novato

  • Membros
  • PipPip
  • 26 posts
  • LocationFlorianópolis / SC

Postado 05 November 2007 - 12:03

Boa tarde galera!

Pessoal estou com problemas para add um TextField no form depois de ter renderizado ele:
Como que eu poderia fazer isso?
Segue abaixo o codigo:

var formCadOperadora = new Ext.form.Form({
		autoCreate: false,		
		method:'POST',
		labelAlign: 'right',
		labelWidth: 75,
		buttonAlign: 'right',		
		url: 'lib/controller/carrierController.php?action=insert'
	});
	
	var formCadOperadora_locale = new Ext.form.TextField({
		fieldLabel:'Locale',
		name:'locale',
		width:100,
		allowBlank:false
	});
	
	var formCadOperadora_filter = new Ext.form.TextField({
		fieldLabel:'Filter',
		name:'filter',
		width:50,
		allowBlank:false
	});
	
	
	
	var formCadOperadora_nome = new Ext.form.TextField({
		fieldLabel:'Name',
		name:'nome',
		width:100,
		allowBlank:false
	});
	
	var formCadOperadora_timezone = new Ext.form.TextField({
		fieldLabel:'Timezone',
		name:'timezone',
		width:100,
		allowBlank:false
	});
	
	var formCadOperadora_timestart = new Ext.form.TextField({
		fieldLabel:'Time Start',
		name:'timestart',
		width:100,
		allowBlank:false
	});
	
	var formCadOperadora_timeend = new Ext.form.TextField({
		fieldLabel:'Time End',
		name:'timeend',
		width:100,
		allowBlank:false
	});
	
	
	
	var formCadOperadora_homeurl = new Ext.form.TextField({
		fieldLabel:'Home URL',
		name:'homeurl',
		width:250,
		allowBlank:false
	});
	
	var formCadOperadora_homelabel = new Ext.form.TextField({
		fieldLabel:'Home Label',
		name:'homelabel',
		width:100,
		allowBlank:true
	});
	
	
	
	
	
	
	formCadOperadora.add(
		formCadOperadora_locale,
		formCadOperadora_filter,
		formCadOperadora_nome,
		formCadOperadora_timezone,
		formCadOperadora_timestart,
		formCadOperadora_timeend,
		formCadOperadora_homeurl,		
		formCadOperadora_homelabel
	
	);
	

	//AQUI É O MALDITO METODO QUE PRECISO FAZER ADD O BOTAO
	function addIP(){
				
		var formCadOperadora_ip = new Ext.form.TextField({
		id:'formCadOperadora_ip',
		fieldLabel:'IP',
		name:'ips[]',
		width:100,
		allowBlank:true
		});
		
		
		formCadOperadora.add(formCadOperadora_ip);
		
	}
	
		var ajax = {
		success: function(form,action){
			Ext.MessageBox.alert('MDEV WPA - Success', 'The register was performed successfully!');
		},
		failure: function(form,action){
			Ext.MessageBox.alert('MDEV WPA - Error:',action.result.mens);
		}
	};
	
	formCadOperadora.render('formCadOperadora');


Desde já vlw novamente!
Leonardo Frangelli
[email protected]

#2 ReapeR

ReapeR

    Member Avançado

  • Expert User
  • 854 posts
  • LocationBlumenau - SC

Postado 05 November 2007 - 13:11

coloca a tua funcao depois do formCadOperadora.render :)

Se ainda n for, verifica se ele está encontrando o form, caso não esteja, coloque...

var formCadOperadora = Ext.getCmp("formCadOperadora");

abs

#3 frangelli

frangelli

    Novato

  • Membros
  • PipPip
  • 26 posts
  • LocationFlorianópolis / SC

Postado 05 November 2007 - 14:09

Não funcionou isso que vc falou não!

E ele está encontrando o form sim, tenho uma função de var_dump no javascript aqui e o form esta encontrando o form sim!

:(
Leonardo Frangelli
[email protected]

#4 Rodrigo, Kptão Nascimento

Rodrigo, Kptão Nascimento

    Member Avançado

  • Expert User
  • 2472 posts
  • LocationTres Coroas, RS

Postado 05 November 2007 - 14:32

E se tu mandasse renderizar novamente o form?

é só uma sugestão... xD não testei, e tb não eh por experiencia xD
Sempre que um tópico for resolvido clique no botão MARCAR COMO RESOLVIDO localizado ao lado do botão RESPONDER.

http://blog.rkn.com.br
http://twitter.com/blogrkn

Atualize seu navegador
http://imasters.uol....br/crossbrowser

#5 frangelli

frangelli

    Novato

  • Membros
  • PipPip
  • 26 posts
  • LocationFlorianópolis / SC

Postado 05 November 2007 - 16:18

Também não funfou !!!

:'(
Leonardo Frangelli
[email protected]

#6 ReapeR

ReapeR

    Member Avançado

  • Expert User
  • 854 posts
  • LocationBlumenau - SC

Postado 05 November 2007 - 16:26

Certo.

E quando vc chama a sua função, oq aconetece? Algum erro no FireBug???
Por fim, pra resolver eu iniciaria o campo escondido e na funcao mandava mostrar :P
Isso pelo menos funciona ^^

abs

#7 Rodrigo, Kptão Nascimento

Rodrigo, Kptão Nascimento

    Member Avançado

  • Expert User
  • 2472 posts
  • LocationTres Coroas, RS

Postado 05 November 2007 - 16:31

kra, como eu sempre peço, posta o codigo completo ae, quem sabe um rar com tudo...
com certeza acharemos uma solução mais rapido xD
Sempre que um tópico for resolvido clique no botão MARCAR COMO RESOLVIDO localizado ao lado do botão RESPONDER.

http://blog.rkn.com.br
http://twitter.com/blogrkn

Atualize seu navegador
http://imasters.uol....br/crossbrowser

#8 CRC

CRC

    Novato

  • Membros
  • PipPip
  • 14 posts

Postado 04 April 2009 - 20:30

olá, eu fiz um que quando se clica no checkbox ele adciona e quando desclica ele remove...

        },{	
			xtype: 'checkbox',
			tabIndex: 8,
			fieldLabel: 'Valor',
			id: 'checkValor',
			boxLabel: 'À Combinar: clique para especificar o valor em R$',
			listeners:{ 
				 check:{fn:function(check, value){
							if (value == true){
								// ------------------------------- Caixas de texto dinâmicas 		
								textValor = new Ext.form.TextField({
									fieldLabel: 'Valor  R$',
									id: 'valor',
									tabIndex: 7,
									xtype: 'moneyfield',
									allowBlank: false,
									anchor: '94%'
								});
								// ---------------------------------------------------------		
								formCad.add(textValor);
								formCad.doLayout();
							} else {
								formCad.remove(textValor);
								formCad.doLayout();								
								}
						}
					   }					   
					  }

Espero ter ajudado...




1 usuário(s) está(ão) lendo este tópico

0 membros, 1 visitantes, 0 membros anônimos