在Firefox中调用两个函数

时间:2014-04-11 08:35:54

标签: javascript forms firefox

当我提交网页表单时,我会调用两个函数,如:

<form action="myaction" name="myform" method="post" onsubmit="return submithandler(this) && validate(this)">

javascript:

function submithandler (form) {
// a function that replaces some diacritical marks to the correct form
return true;
};

function validate(form) { 
// huge validation code
};

在除Firefox之外的所有浏览器中均可正常使用;这个浏览器执行submithandler(this)部分,但是忽略了validate(this)。如果我像这样(下面)制作表单标签,它会进行验证但忽略submithandler(this)。

<form action="myaction" name="myform" method="post" onsubmit="return validate(this) && submithandler(this)">

有什么想法吗?

编辑:

Firefox问题必须在此脚本中?也许var form = event.target; ?请看这里:Change characters on form submit

//脚本替换表单中所有文本字段内的所有字母(或其他)实例。

 function submithandler (form) {
 var form = event.target;
 var i, l;
  for (i = 0, l = form.elements.length; i < l; i += 1) {
 if (form.elements[i].type === 'text') {
  form.elements[i].value = form.elements[i].value.replace(/Ş/g, 'Ș');
  form.elements[i].value = form.elements[i].value.replace(/ş/g, 'ș');
  form.elements[i].value = form.elements[i].value.replace(/Ţ/g, 'Ț');
  form.elements[i].value = form.elements[i].value.replace(/ţ/g, 'ț');
    }
    }
     return true; 
     };

1 个答案:

答案 0 :(得分:2)

在submithandler函数中调用validate函数:

function submithandler (form) {
// a function that replaces some diacritical marks to the correct form
if(isValid(form)){
   return true;
} else{
   return false;
}
};



    function isValid(form) { 
    // huge validation code
    //validation code: must return true if valid
       if(valid){ 
    return true;
    } else {
    return false;
    }
    };