
fabiapo
Membros-
Total de itens
7 -
Registro em
-
Última visita
Sobre fabiapo

fabiapo's Achievements
0
Reputação
-
Pessoal, Estou trabalhando um formulário trabalhando com abas. Existem 3 abas e seus respectivos campos: Aba A cnpj nome nome fantasia Aba B cep Aba C telefones No validate do formulário fiz da seguinte forma: $("#EnviaForm").validate({ rules: { txt_Cep: { required:true }, txt_Cnpj: { required:true, cnpj:true, minlength:11, digitsWithMask:true }, txt_NomeEmpresa: { required:true, minlength:3 }, txt_NomeFantasia: { required:true, minlength:3 } }, messages: { txt_Cep: { required: "Informe um CEP" }, txt_Cnpj: { required:"Informe um CNPJ", cnpj: "CNPJ inválido", minlength:"O CNPJ deve conter pelo menos 11 dígitos", digitsWithMask:"Informe apenas números" }, txt_NomeEmpresa: { required: "Informe o nome da empresa", minlength: "O nome da empresa deve conter pelo menos 3 dígitos" }, txt_NomeFantasia: { required: "Informe o nome fantasia", minlength: "O nome fantasia deve conter pelo menos 3 dígitos" } },//Se der erro de (this[0].form).validate, verifique se o campo está com ID. errorPlacement: function(error, element) { if (element.is("#txt_Cnpj") || element.is("#txt_NomeEmpresa") || element.is("#txt_NomeFantasia") || (element.is("#txt_Cep"))) { error.insertAfter(element.next()); } else { error.insertAfter(element); } } }); Porém, se um dos campos da aba B ou C e nenhum da aba A, preciso abrir a aba referenciando o id da aba que está com campo inválido. Caso contrário, permanece com o foco na aba atual. O plugin validate faz esta validação campo a campo. Como faço para mudar as abas de acordo com seus campos? Obrigada
-
Engraçado é que este código funciona no FF 3 e no IE 7, mas estou com problemas no FF 2. Existe algum paleativo para funcionar nos 2 browsers? Obrigada!
-
Segue o meu código completo para você entender: HTML página pai: <form action="<? echo $path_modulos_cmdb_html; ?>/tab_gerais/cep/cad_cep_bd.php" method="post" id="EnviaForm" name="EnviaForm"> <table class="bordasimples" style="width:100%"> <tr> <td colspan="5"></td> </tr> <tr> <td width="13%"></td> <td width="20%" colspan="4">Código CEP:<br> <input type="text" name="txt_CodigoCep" id="txt_CodigoCep" maxlength="9" size="9" tabindex="1" alt="Pressione F9 ou clique na lupa para consultar" title="Pressione F9 ou clique na lupa para consultar"> <input type="image" tabindex="2" name="BuscaCep" id="BuscaCep" src="<? echo $path_img_html;?>/lupa.jpg" class="lupa" alt="Pressione F9 ou clique na lupa para consultar" title="Pressione F9 ou clique na lupa para consultar"/> </td> </tr> <tr> <td width="13%"></td> <td colspan="4">Endereço:<br> <input type="text" name="txt_Endereco" id="txt_Endereco" maxlength="100" size="60" tabindex="2"><br> </td> </tr> <tr> <td width="13%"></td> <td colspan="4">Bairro:<br> <input type="text" name="txt_Bairro" id="txt_Bairro" maxlength="70" size="50" tabindex="3"> </td> </tr> <tr> <td width="13%"></td> <td width="22%" colspan="2">UF:<br> <select name="cmb_Uf" id="cmb_Uf" tabindex="4"> <? //popula o combo com as UFs include "$path_includes_combo/cmb_uf.php"; ?> </select> </td> <td width="40%">Município:<br> <select name="cmb_Municipio" id="cmb_Municipio" tabindex="5"> <option value=''>Selecione</option> <? //populado via arquivo form_busca_cep.php ?> </select> <input type="hidden" name="hdn_Municipio" id="hdn_Municipio"/> </td> <td width="13%"></td> </tr> <tr> <td colspan="5"> <input type="hidden" name="hdn_acao" id="hdn_acao"> </td> </tr> </table> <table class="bordasimples" style="width:90%"> <tr> <td colspan="7"></td> </tr> <tr> <td width="25%"></td> <td width="14%">Identificador:<br><input type="text" id="txt_id_cep" name="txt_id_cep" class="disabled" disabled></td> <td width="8%"></td> <td width="18%"></td> <td ></td> <td width="7%"></td> </tr> <tr> <td></td> <td>Criado Por:<br><input type="text" id="txt_nm_usuario_inclusao" name="txt_nm_usuario_inclusao" class="disabled" disabled></td> <td></td> <td>Data de Criação:<br><input type="text" id="txt_dt_cep_inclusao" name="txt_dt_cep_inclusao" class="disabled" disabled></td> <td></td> </tr> <tr> <td></td> <td>Modificado Por:<br><input type="text" id="txt_nm_usuario_alteracao" name="txt_nm_usuario_alteracao" class="disabled" disabled></td> <td></td> <td>Data de Modificação:<br><input type="text" id="txt_dt_cep_alteracao" name="txt_dt_cep_alteracao" class="disabled" disabled></td> <td><br></td> </tr> <tr> <td colspan="5"></td> </tr> </table> </form> Script da página pai: window.PreencheMunicipio = function() { var val_uf = $(this).find(':selected').val(); var val_municipio = $("#hdn_Municipio").val(); //$("#cmb_Municipio").load('/fapsl/includes/combo/cmb_municipio.php?uf='+val_uf+'&municipio'); $("#cmb_Uf").change(); } //Ao mudar o combo de UF, popular $("#cmb_Uf").change( function(){ var val_uf = $(this).find(':selected').val(); var val_municipio = $("#hdn_Municipio").val(); $.post('/fapsl/includes/combo/cmb_municipio.php',{uf: val_uf, municipio: val_municipio}, function(resposta) { $("#cmb_Municipio").html(resposta); if (val_uf !='') { $("#cmb_Uf").valid(); } } ); } ); //Validar após selecionar registro $("#cmb_Municipio").change( function() { $("#cmb_Municipio").valid(); } ); HTML da página filha: popup <? session_start(); ob_start(); include "/var/www/fapsl/path.php"; include "$path_includes/conecta_bd.inc"; include_once "$path_includes/includePerdeSessao.php"; ?> <html> <head> <title>Consulta de CEPs</title> <script type="text/javascript" src="<? echo $path_jquery_html; ?>/jquery.js"></script> <script type="text/javascript" src="<? echo $path_jquery_html; ?>/jquery.alerts.js"></script> <script type="text/javascript" src="<? echo $path_jquery_html; ?>/jquery.tablesorter.js"></script> <script type="text/javascript" src="<? echo $path_modulos_html; ?>/script/form_ordenar.js"></script> <link rel="stylesheet" type="text/css" href="<? echo $path_css_html;?>/tabelas.css" /> <link rel="stylesheet" type="text/css" href="<? echo $path_css_html; ?>/jquery.alerts.css" /> </head> <body onUnload="java script:fecha();"> <div align="center"> <table class="tablesorter" width="80%" id="sort"> <? $num_cep=str_replace("-","",$_REQUEST["cep"]); $query="SELECT * FROM consulta_cep('$num_cep')"; $rs=pg_query($dbconn,$query); if ($rs) { if (pg_num_rows($rs)<>0) { ?> <thead> <tr> <th width="18%">Código CEP<img src="<? echo $path_img_html?>/setas_ordenacao.gif"/></th> <th>Endereço<img src="<? echo $path_img_html?>/setas_ordenacao.gif"/></th> <th width="20%">Bairro<img src="<? echo $path_img_html?>/setas_ordenacao.gif"/></th> <th width="20%">Municipio<img src="<? echo $path_img_html?>/setas_ordenacao.gif"/></th> <th width="8%">UF<img src="<? echo $path_img_html?>/setas_ordenacao.gif"/></th> </tr> </thead> <tbody> <? for($i=0; $i<pg_num_rows($rs); $i++) { $rs_fetch = pg_fetch_row($rs); $nr_cep=$rs_fetch[0]; $nr_cep_parte1 = substr($nr_cep, 0, 5); $nr_cep_parte2 = substr($nr_cep, 4, 3); $nr_cep = $nr_cep_parte1."-".$nr_cep_parte2; $id_cep=$rs_fetch[1]; $nm_logradouro=$rs_fetch[2]; $nm_bairro = $rs_fetch[3]; $id_municipio = $rs_fetch[4]; $nm_municipio = $rs_fetch[5]; $id_uf = $rs_fetch[6]; $nm_uf = $rs_fetch[7]; $dt_cep_inclusao=$rs_fetch[8]; $str_time=strtotime($dt_cep_inclusao); if (date(Y,$str_time)!='1969') $dt_cep_inclusao=date("d/m/Y G:i:s", $str_time); else { $dt_cep_inclusao=''; } $dt_cep_alteracao=$rs_fetch[9]; $str_time=strtotime($dt_cep_alteracao); if (date(Y,$str_time)!='1969') $dt_cep_alteracao=date("d/m/Y G:i:s", $str_time); else { $dt_cep_alteracao=''; } $nm_usuario_inclusao=$rs_fetch[10]; $nm_usuario_alteracao=$rs_fetch[11]; $id_usuario_inclusao=$rs_fetch[12]; $id_usuario_alteracao=$rs_fetch[13]; $str_parametros=$id_cep.',"'.$nr_cep.'",'.'"'.$nm_logradouro.'",'.'"'.$nm_bairro.'",'.'"'.$id_municipio.'",'.'"'.$nm_municipio.'",'.'"'.$id_uf.'",'.'"'.$nm_uf.'","'.$dt_cep_inclusao.'","'.$dt_cep_alteracao.'","'.$nm_usuario_inclusao.'","'.$nm_usuario_alteracao.'","'.$id_usuario_inclusao.'","'.$id_usuario_alteracao.'"'; echo "<tr>"; echo "<td>"; echo "<a href='' OnClick='cap_valores($str_parametros)' id='sigla_ug'>"; echo $nr_cep; echo "</a>"; echo "</td>"; echo "<td>"; echo $nm_logradouro; echo "</td>"; echo "<td>"; echo $nm_bairro; echo "</td>"; echo "<td>"; echo $nm_municipio; echo "</td>"; echo "<td>"; echo $nm_uf; echo "</td>"; echo "</tr>"; } } else { if(pg_num_rows($rs)==0) { $str_mensagem="A Consulta não trouxe registros"; $str_erro="Não há registros semelhantes na base"; echo "<script type='text/JavaScript'>"; echo "$(document).ready( function() {"; echo 'jAlert("'.$str_erro.'","'.$str_mensagem.'", function(resposta){ if (resposta==true) { window.close(); } });'; echo "}); </script>"; } } } else { $str_mensagem="Ocorreu um erro na consulta dos dados."; $str_erro = pg_last_error($dbconn); $str_erro = str_replace("'","",$str_erro); $str_erro = str_replace("\n","",$str_erro); echo "<script type='text/JavaScript'>"; echo "$(document).ready( function() {"; echo 'jAlert("'.$str_erro.'","'.$str_mensagem.'", function(resposta){ if (resposta==true) { window.close(); } });'; echo "}); </script>"; } ?> </tbody> </table> </div> </body> </html> Script da Página filha: popup function cap_valores(id_cep, int_cod_cep, str_endereco, str_bairro, int_cod_municipio, str_municipio, int_cod_uf, str_uf, dt_cep_inclusao, dt_cep_alteracao, nm_usuario_inclusao, nm_usuario_alteracao, id_usuario_inclusao, id_usuario_alteracao) { var str_municipio = int_cod_municipio + "_" + str_municipio; var str_uf = int_cod_uf + "_" + str_uf; window.opener.document.getElementById("hdn_acao").value="alt"; window.opener.document.getElementById("txt_CodigoCep").value=int_cod_cep; window.opener.document.getElementById("txt_Endereco").value=str_endereco; window.opener.document.getElementById("hdn_Municipio").value=str_municipio; window.opener.document.getElementById("txt_Bairro").value=str_bairro; window.opener.document.getElementById("cmb_Uf").value =str_uf; window.opener.PreencheMunicipio(); window.opener.document.getElementById("txt_id_cep").value=id_cep; window.opener.document.getElementById("txt_nm_usuario_inclusao").value=nm_usuario_inclusao; window.opener.document.getElementById("txt_dt_cep_inclusao").value=dt_cep_inclusao; window.opener.document.getElementById("txt_nm_usuario_alteracao").value=nm_usuario_alteracao; window.opener.document.getElementById("txt_dt_cep_alteracao").value=dt_cep_alteracao; window.close(); } function fecha() { var acao=window.opener.document.getElementById("hdn_acao").value; if (acao=='con') { window.opener.document.getElementById("hdn_acao").value = 'inc'; } } Muito obrigada!
-
Foi definida via jquery: $("#cmb_Uf").change na página pai. Não estou mais chamando o evento onchange no popup. Só estou chamando a função PreencheMunicipio() que chama a função $("#cmb_Uf").change. Dei alert para verificar se os valores estavam chegando, chegaram, e mesmo assim quando chega na função $.post, os valores chegam em branco.
-
Jonathan, Quando chamo a função PreencheMunicipio na página pai, eu chamo a função change do código UF de forma que possa ser chamada a função post. Meu sistema funciona assim: Quando eu identifico um único registro na base, eu o trago e não abro popup. Se tiver mais que um, abro o popup para que o usuário selecione um link. Neste link coloquei na função onclick a função cap_valores.: Segue o código do popup onde chamo meu evento: $str_parametros=$id_cep.',"'.$nr_cep.'",'.'"'.$nm_logradouro.'",'.'"'.$nm_bairro.'",'.'"'.$id_municipio.'",'.'"'.$nm_municipio.'",'.'"'.$id_uf.'",'.'"'.$nm_uf.'","'.$dt_cep_inclusao.'","'.$dt_cep_alteracao.'","'.$nm_usuario_inclusao.'","'.$nm_usuario_alteracao.'","'.$id_usuario_inclusao.'","'.$id_usuario_alteracao.'"'; echo "<tr>"; echo "<td>"; echo "<a href='' OnClick='cap_valores($str_parametros)' id='sigla_ug'>"; echo $nr_cep; echo "</a>"; echo "</td>"; O que é estranho é que dei um alert no evento change da página pai quando seleciono um item e os valores são repassados para os campos, mas quando chega na função $.post do jquery ele pára de funcionar. Mas isto só funciona quando tenho o popup, sem o popup o evento change funciona perfeitamente. Dou um alert antes de fechar o popup, depois ele fecha e não funciona o $.post. Será que tem algo a ver? Segue o script do popup: cap_valores(id_cep, int_cod_cep, str_endereco, str_bairro, int_cod_municipio, str_municipio, int_cod_uf, str_uf, dt_cep_inclusao, dt_cep_alteracao, nm_usuario_inclusao, nm_usuario_alteracao, id_usuario_inclusao, id_usuario_alteracao) { var str_municipio = int_cod_municipio + "_" + str_municipio; var str_uf = int_cod_uf + "_" + str_uf; window.opener.document.getElementById("hdn_acao").value="alt"; window.opener.document.getElementById("txt_CodigoCep").value=int_cod_cep; window.opener.document.getElementById("txt_Endereco").value=str_endereco; window.opener.document.getElementById("hdn_Municipio").value=str_municipio; window.opener.document.getElementById("txt_Bairro").value=str_bairro; window.opener.document.getElementById("cmb_Uf").value =str_uf; ; //$(opener.document.cmb_Uf).change(); window.opener.PreencheMunicipio(); window.opener.document.getElementById("txt_id_cep").value=id_cep; window.opener.document.getElementById("txt_nm_usuario_inclusao").value=nm_usuario_inclusao; window.opener.document.getElementById("txt_dt_cep_inclusao").value=dt_cep_inclusao; window.opener.document.getElementById("txt_nm_usuario_alteracao").value=nm_usuario_alteracao; window.opener.document.getElementById("txt_dt_cep_alteracao").value=dt_cep_alteracao; window.close(); } function fecha() // esta função está no evento unload da página popup { var acao=window.opener.document.getElementById("hdn_acao").value; if (acao=='con') { window.opener.document.getElementById("hdn_acao").value = 'inc'; } } Obrigada!
-
Então, eu tentei desta forma, mas o firefox (console de erros) me retorna a seguinte mensagem: Erro: window.opener.document.getElementById("cmb_Uf").onchange is not a function Tentei chamar uma função na minha página que chamasse o evento change, mas por algum motivo, o meu combo não é populado apesar dos valores para que ele possa ser populado estão ok. Exemplo: POPUP: function cap_valores(id_cep, int_cod_cep, str_endereco, str_bairro, int_cod_municipio, str_municipio, int_cod_uf, str_uf, dt_cep_inclusao, dt_cep_alteracao, nm_usuario_inclusao, nm_usuario_alteracao, id_usuario_inclusao, id_usuario_alteracao) { var str_municipio = int_cod_municipio + "_" + str_municipio; var str_uf = int_cod_uf + "_" + str_uf; window.opener.document.getElementById("txt_CodigoCep").value=int_cod_cep; window.opener.document.getElementById("txt_Endereco").value=str_endereco; window.opener.document.getElementById("txt_Bairro").value=str_bairro; window.opener.document.getElementById("cmb_Uf").value =str_uf; window.opener.document.getElementById("hdn_Municipio").value=str_municipio; window.opener.document.getElementById("cmb_Municipio").value=str_municipio; window.opener.PreencheMunicipio(); window.opener.document.getElementById("hdn_acao").value="alt"; window.opener.document.getElementById("txt_id_cep").value=id_cep; window.opener.document.getElementById("txt_nm_usuario_inclusao").value=nm_usuario_inclusao; window.opener.document.getElementById("txt_dt_cep_inclusao").value=dt_cep_inclusao; window.opener.document.getElementById("txt_nm_usuario_alteracao").value=nm_usuario_alteracao; window.opener.document.getElementById("txt_dt_cep_alteracao").value=dt_cep_alteracao; window.close(); } Página pai: window.PreencheMunicipio = function() { $("#cmb_Uf").change(); } //Ao mudar o combo de UF, popular $("#cmb_Uf").change( function(){ var val_uf = $("#cmb_Uf").val(); var val_municipio = $("#hdn_Municipio").val(); if ((val_uf!='')) { $.post('/fapsl/includes/combo/cmb_municipio.php',{uf: val_uf, municipio: val_municipio}, function(resposta) { $("#cmb_Municipio").html(resposta); if (val_uf !='') { $("#cmb_Uf").valid(); } } ); } } ); Se efetuarmos a consulta sem o popup, ele retorna normalmente, via popup não chama a função change. Pelo que percebi os valores se perdem dentro do meu php. Alguém já viu um problema parecido? Obrigada!
-
Pessoal, Alguém sabe como chamar um evento change que está em jquery na página pai a partir de um popup (página filha) em javascript? Tentei da seguinte forma: Página filha (POPUP) window.opener.document.getElementById("cmb_Uf").onchange; Página Pai (em jquery) $("#cmb_Uf").change( function(){ var val_uf = $("#cmb_Uf").val(); var val_municipio = $("#hdn_Municipio").val(); $.post('/fapsl/includes/combo/cmb_municipio.php',{uf: val_uf, municipio: val_municipio}); } ); Teoricamente estaria correto, mas no FF 2.0.0.11 não está funcionando mas também não apresenta nenhuma mensagem de erro. Alguém poderia me ajudar? Obrigada!