Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Entrem no endereço Clique aki
Ah para chegar ao formulario tem que clikar em Noticias
Esta dando erro na hora de validar, tipo na primeira pagina valida normal, mas na segunda da erro mas so no nosso amigo ie7 a estou carregando as paginas com uma funçao q o micox disponibilizou algum tempo atraz ajaxForm...
Funçao pra validar
>
var re_dt = /^(\d{1,2})\-(\d{1,2})\-(\d{4})$/,
re_tm = /^(\d{1,2})\:(\d{1,2})\:(\d{1,2})$/,
a_formats = {
'alpha' : /^[a-zA-Z\.\-]*$/,
'alphanum': /^\w+$/,
'unsigned': /^\d+$/,
'integer' : /^[\+\-]?\d*$/,
'real' : /^[\+\-]?\d\.?\d$/,
'email' : /^[\w-\.]+\@[\w\.-]+\.[a-z]{2,4}$/,
'phone' : /^[\d\.\s\-]+$/,
'date' : function (s_date) {
// check format
if (!re_dt.test(s_date))
return false;
// check allowed ranges
if (RegExp.$1 > 31 || RegExp.$2 > 12)
return false;
// check number of day in month
var dt_test = new Date(RegExp.$3, Number(RegExp.$2-1), RegExp.$1);
if (dt_test.getMonth() != Number(RegExp.$2-1))
return false;
return true;
},
'time' : function (s_time) {
// check format
if (!re_tm.test(s_time))
return false;
// check allowed ranges
if (RegExp.$1 > 23 || RegExp.$2 > 59 || RegExp.$3 > 59)
return false;
return true;
}
},
a_messages = [
'Nenhum nome do formulário passou à rotina da construção do Validador<br />',
'Nenhuma array de "%form%" dê forma aos campos passados à rotina da construção do Validator<br />',
'Formulário "%form%" can not be found in this document<br />',
'Incomplete "%n%" form field descriptor entry. "l" attribute is missing<br />',
'Can not find form field "%n%" in the form "%form%"<br />',
'Can not find label tag (id="%t%")<br />',
'Can not verify match. Field "%m%" was not found<br />',
'"%l%" é um campo obrigátorio<br />',
'Value for "%l%" must be %mn% characters or more<br />',
'Value for "%l%" must be no longer than %mx% characters<br />',
'"%v%" is not valid value for "%l%"<br />',
'"%l%" must match "%ml%"<br />'
]
// rotina de contrução do validador
function validator(s_form, a_fields, o_cfg) {
this.f_error = validator_error;
this.f_alert = o_cfg && o_cfg.alert
? function(s_msg) { alert(s_msg); return false }
: function() { return false };
// checa os parametros requeridos
if (!s_form)
return this.f_alert(this.f_error(0));
this.s_form = s_form;
if (!a_fields || typeof(a_fields) != 'object')
return this.f_alert(this.f_error(1));
this.a_fields = a_fields;
this.a_2disable = o_cfg && o_cfg['to_disable'] && typeof(o_cfg['to_disable']) == 'object'
? o_cfg['to_disable']
: [];
this.exec = validator_exec;
}
// metodo de execução do validador
function validator_exec() {
var o_form = document.forms[this.s_form];
if (!o_form)
return this.f_alert(this.f_error(2));
b_dom = document.body && document.body.innerHTML;
// check integrity of the form fields description structure
for (var n_key in this.a_fields) {
// check input description entry
this.a_fields[n_key]['n'] = n_key;
if (!this.a_fields[n_key]['l'])
return this.f_alert(this.f_error(3, this.a_fields[n_key]));
o_input = o_form.elements[n_key];
if (!o_input)
return this.f_alert(this.f_error(4, this.a_fields[n_key]));
this.a_fields[n_key].o_input = o_input;
}
// reset labels highlight
if (b_dom)
for (var n_key in this.a_fields)
if (this.a_fields[n_key]['t']) {
var s_labeltag = this.a_fields[n_key]['t'], e_labeltag = get_element(s_labeltag);
if (!e_labeltag)
return this.f_alert(this.f_error(5, this.a_fields[n_key]));
this.a_fields[n_key].o_tag = e_labeltag;
// normal state parameters assigned here
e_labeltag.className = 'tfvNormal';
}
// collect values depending on the type of the input
for (var n_key in this.a_fields) {
var s_value = '';
o_input = this.a_fields[n_key].o_input;
if (o_input.type == 'checkbox') // checkbox
s_value = o_input.checked ? o_input.value : '';
else if (o_input.value) // text, password, hidden
s_value = o_input.value;
else if (o_input.options) // select
s_value = o_input.selectedIndex > -1
? o_input.options[o_input.selectedIndex].value
: null;
else if (o_input.length > 0) // radiobuton
for (var n_index = 0; n_index < o_input.length; n_index++)
if (o_input[n_index].checked) {
s_value = o_input[n_index].value;
break;
}
this.a_fields[n_key]['v'] = s_value.replace(/(^\s+)|(\s+$)/g, '');
}
// check for errors
var n_errors_count = 0,
n_another, o_format_check;
for (var n_key in this.a_fields) {
o_format_check = this.a_fields[n_key]['f'] && a_formats[this.a_fields[n_key]['f']]
? a_formats[this.a_fields[n_key]['f']]
: null;
// reset previous error if any
this.a_fields[n_key].n_error = null;
// check reqired fields
if (this.a_fields[n_key]['r'] && !this.a_fields[n_key]['v']) {
this.a_fields[n_key].n_error = 1;
n_errors_count++;
}
// check length
else if (this.a_fields[n_key]['mn'] && this.a_fields[n_key]['v'] != '' && String(this.a_fields[n_key]['v']).length < this.a_fields[n_key]['mn']) {
this.a_fields[n_key].n_error = 2;
n_errors_count++;
}
else if (this.a_fields[n_key]['mx'] && String(this.a_fields[n_key]['v']).length > this.a_fields[n_key]['mx']) {
this.a_fields[n_key].n_error = 3;
n_errors_count++;
}
// check format
else if (this.a_fields[n_key]['v'] && this.a_fields[n_key]['f'] && (
(typeof(o_format_check) == 'function'
&& !o_format_check(this.a_fields[n_key]['v']))
|| (typeof(o_format_check) != 'function'
&& !o_format_check.test(this.a_fields[n_key]['v'])))
) {
this.a_fields[n_key].n_error = 4;
n_errors_count++;
}
// check match
else if (this.a_fields[n_key]['m']) {
for (var n_key2 in this.a_fields)
if (n_key2 == this.a_fields[n_key]['m']) {
n_another = n_key2;
break;
}
if (n_another == null)
return this.f_alert(this.f_error(6, this.a_fields[n_key]));
if (this.a_fields[n_another]['v'] != this.a_fields[n_key]['v']) {
this.a_fields[n_key]['ml'] = this.a_fields[n_another]['l'];
this.a_fields[n_key].n_error = 5;
n_errors_count++;
}
}
}
// collect error messages and highlight captions for errorneous fields
var s_alert_message = '',
e_first_error;
if (n_errors_count) {
for (var n_key in this.a_fields) {
var n_error_type = this.a_fields[n_key].n_error,
s_message = '';
if (n_error_type)
s_message = this.f_error(n_error_type + 6, this.a_fields[n_key]);
if (s_message) {
if (!e_first_error)
e_first_error = o_form.elements[n_key];
s_alert_message += s_message + "\n";
// highlighted state parameters assigned here
if (b_dom && this.a_fields[n_key].o_tag)
this.a_fields[n_key].o_tag.className = 'tfvHighlight';
}
}
erros('error', s_alert_message);
// set focus to first errorneous field
if (e_first_error.focus && e_first_error.type != 'hidden' && !e_first_error.disabled)
eval("e_first_error.focus()");
// cancel form submission if errors detected
return false;
}
for (n_key in this.a_2disable)
if (o_form.elements[this.a_2disable[n_key]])
o_form.elements[this.a_2disable[n_key]].disabled = true;
return true;
}
function validator_error(n_index) {
var s_ = a_messages[n_index], n_i = 1, s_key;
for (; n_i < arguments.length; n_i ++)
for (s_key in arguments[n_i])
s_ = s_.replace('%' + s_key + '%', arguments[n_i][s_key]);
s_ = s_.replace('%form%', this.s_form);
return s_
}
function erros(id, msg){
et5= get_element(id);
et5.innerHTML=msg;
}
function get_element (s_id) {
return (document.all ? document.all[s_id] : (document.getElementById ? document.getElementById(s_id) : null));
}
Metodo pra chamar a funçao
>
// form fields description structure
var a_fields = {
'servico' : {
'l': 'Selecione um Servico', // label
'r': true, // required
'f': 'alphanum', // format (see below)
't': 't_srv'
},
'plano_s':{'l':'Selecione um Plano','r':true,'t':'t_pln_s'},
'plano_r':{'l':'Forma de pagamento','r':true,'t':'t_pln_r'},
'plano_p':{'l':'Método de envio','r':true,'t':'t_pln_r'}
},
o_config = {
'to_disable' : ['Submit'],
'alert' : 1
}
// validator constructor call
var v = new validator('etp_1', a_fields, o_config);
function avante(id1)
{
if (id1 == true) {
ajaxForm('rf_001','etp_1');
passo('etp_2');
}
}
Enfim a primeira vez q eu chamo a funçao no IE ela funciona dai quando eu mando seguir pra proxima etapa ela para de funcionar... no firefox funciona de boua
qq coisa msn dfrashh@hotmail.com
Carregando comentários...