繁体   English   中英

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

[英]Use Two Function in Onclick Event with Parameter(JS)

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

<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中使用两个功能?

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

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();" />

您可以执行以下操作:

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

  </script>

无论您是AND还是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();'/>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM