A consulta é feita utilizando o webservice do site: http://cep.republicavirtual.com.br e o código foi baseado no site: http://www.eliezer.com.br/post/busca-de-cep-no-seu-form-apenas-com-javascript.
A extensão foi criada no Yii 1.1.12 mas não vejo problema p/ funcionar em versões anteriores.
Extraia o arquivo no diretório protected\extensions.
/* @var $this EnderecosController */ /* @var $model Enderecos */ /* @var $form CActiveForm */ <div class="form"> <?php $form=$this->beginWidget('CActiveForm', array( 'id'=>'enderecos-form', 'enableAjaxValidation'=>false, )); <p class="note">Fields with <span class="required">*</span> are required.</p> <?php echo $form->errorSummary($model); <div class="row"> <?php echo $form->labelEx($model,'cep'); <?php echo $form->textField($model,'cep'); <!-- Início da chamada da extensão --> <?php $this->widget('ext.BuscaEnderecoViaCEP', array( //'tipo'=>'link', //'label'=>'Consultar', 'model'=>$model, 'mapeamento'=>array('cep'=>'cep', 'endereco'=>'endereco', 'cidade'=>'cidade', 'bairro'=>'bairro', 'uf'=>'uf'), )); <!-- Fim da chamada da extensão --> <?php echo $form->error($model,'cep'); </div> <div class="row"> <?php echo $form->labelEx($model,'endereco'); <?php echo $form->textField($model,'endereco',array('size'=>60,'maxlength'=>80)); <?php echo $form->error($model,'endereco'); </div> <div class="row"> <?php echo $form->labelEx($model,'numero'); <?php echo $form->textField($model,'numero'); <?php echo $form->error($model,'numero'); </div> <div class="row"> <?php echo $form->labelEx($model,'complemento'); <?php echo $form->textField($model,'complemento',array('size'=>20,'maxlength'=>20)); <?php echo $form->error($model,'complemento'); </div> <div class="row"> <?php echo $form->labelEx($model,'cidade'); <?php echo $form->textField($model,'cidade',array('size'=>50,'maxlength'=>50)); <?php echo $form->error($model,'cidade'); </div> <div class="row"> <?php echo $form->labelEx($model,'bairro'); <?php echo $form->textField($model,'bairro',array('size'=>50,'maxlength'=>50)); <?php echo $form->error($model,'bairro'); </div> <div class="row"> <?php echo $form->labelEx($model,'uf'); <?php echo $form->textField($model,'uf',array('size'=>20,'maxlength'=>20)); <?php echo $form->error($model,'uf'); </div> <div class="row buttons"> <?php echo CHtml::submitButton($model->isNewRecord ? 'Create' : 'Save'); </div> <?php $this->endWidget(); </div><!-- form -->
Total 6 comments
Breno, infelizmente não disponibilizei um demo, mas é bem fácil de utilizar. Dá uma olhada no exemplo acima. Qualquer dúvida é só falar..
Olá Bruno, você tem o demo desta extensão?
Bruno, posta esta extensão no forum e no grupo de discussão, bom saber que tem extensão para finalidade brasileira. ;)
Na verdade esse código todo foi só p/ mostrar como fazer a chamada da extensão. Mas concordo com vc do campo CEP ser o primeiro sim!! Vou alterar o exemplo p/ melhorar o entendimento.
Bruno,
O campo de CEP, não está posicionado errado? Não seria o primeiro input a ser preenchido?
Muito obrigado por compartilhar!
=))
Leave a comment
Please login to leave your comment.