簡體   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