在参数(JS)的Onclick事件中使用两个函数

时间:2014-12-05 15:01:53

标签: javascript

这是我的两个带参数的函数:

<script language="JavaScript" type="text/javascript">
 function code(input){ 
  if(input.match(/^[0-9]{11}$/)){
  document.getElementById('ErrMsg').innerHTML += "Phone Is Valid"
    return true;
  }
   document.getElementById('ErrMsg').innerHTML += "Enter Valid Phone Number"
   return false;
 }
  function codee(input){ 
  if(input.match(/^[a-z]{11}$/)){
  document.getElementById('ErrMsg').innerHTML += "Name is Valid"
    return true;
  }
   //alert("Enter a Valid Phone Number");
   document.getElementById('ErrMsg').innerHTML += "Enter Your Valid Name"
   return false;
   }
  </script>

我的JS代码如下:

 <input type=text size=12 name=lname id=lname/>
 <input type=text size=12 name=Phone id=Phone/>
 <input type=submit border=0 value=OK  onclick='return code(document.getElementById("Phone").value)' />

如何在形式的onclick中使用两个函数?

2 个答案:

答案 0 :(得分:2)

您可以调用一个新方法来收集表单输入并一次检查一个:

function validate() {
    var isValid = true;

    isValid = isValid && code(document.getElementById('Phone').value));
    isValid = isValid && codee(document.getElementById('lname').value));

    return isValid;
}

您的按钮更改为:

<input ... onclick="return validate();" />

答案 1 :(得分:1)

你可以这样做:

<script language="JavaScript" type="text/javascript">
 function callBoth(input){ 
     return code(input) && codee(input);
 }

  </script>

您和/或OR是否符合您的逻辑。

在你的按钮中:

 <input type=submit border=0 value=OK  onclick='return callBoth(document.getElementById("Phone").value)'/>

根据您的评论,您需要更改代码:

<script language="JavaScript" type="text/javascript">
 function callBoth(){ 
     return code(document.getElementById("Phone")) && codee(document.getElementById("lname"));
 }

  </script>

和你的按钮

 <input type=submit border=0 value=OK  onclick='return callBoth();'/>