2014-12-05 49 views
0

這是我的兩大功能與參數:使用兩個功能在onclick事件與參數(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?

+0

「這問題「有什麼問題?在你的問題中沒有任何問題的描述。 – 2014-12-05 15:06:18

+0

toh問題kya hai ??(有什麼問題?) – Alok 2014-12-05 15:08:37

+0

問題很明顯 如何在form的onclick中使用兩個帶參數的函數? – 2014-12-05 15:44:01

回答

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

有關按位和運算符運算符的更多信息,請參閱https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Assignment_Operators#Bitwise_AND_assignment – 2014-12-05 15:08:25

+0

@PoelincaDorin:感謝您的鏈接..儘管我決定我不喜歡它的用法。 – 2014-12-05 15:10:00

+0

我也不喜歡它,但是我總是發現在答案中發佈這些類型的鏈接是有用的,因爲它爲新的程序員提供了一個入口點文檔:) – 2014-12-05 15:35:21

1

你可以做這樣的事情:

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

    </script> 

無論您是否符合您的邏輯。

在您的按鈕:

<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();'/> 
+0

和lname呢?怎麼做? (document.getElementById(「Phone」).value);''返回代碼(document.getElementById(「lname」).value);'返回代碼(document.getElementById – 2014-12-05 15:20:16

+0

我不確定你指的是什麼,因爲它不在你的問題中。如果這是表單驗證,我會建議查看一個插件,比如jquery validate,因爲這會讓你更簡單。 – Paddy 2014-12-05 15:29:22

+0

是的,這是表單驗證。但在你的代碼 'callBoth(document.getElementById(「Phone」)。value)' 這只是爲了「電話」,那麼「lname」呢? 這是問題嗎? – 2014-12-05 15:39:28