2016-04-30 55 views
0

我正在學習JavaScript,我試圖做一個簡單的窗體驗證。 我把onblur事件放在一個表單上,它不起作用,但如果事件放在輸入本身上,它確實有效。如果有人能幫助我解決這個問題,那將會很棒。如何使此驗證工作?

function checkInfo() { 
 
    var name = document.getElementById('name').value, 
 
    email = document.getElementById('email').value; 
 
    
 
    if(name === '' || email === '') { 
 
    console.log('validate'); 
 
    return false; 
 
    } 
 
    else { 
 
    return true; 
 
    } 
 
};
<form method="post" name="myForm" id="my-form" onblur="checkInfo();"> 
 
    <div> 
 
    <input type="text" id="name" name="name" placeholder="Name (Required)" required> 
 
    </div> 
 
    <div> 
 
    <input type="email" id="email" name="email" placeholder="Email (Required)" required> 
 
    </div> 
 
    <div> 
 
    <input type="text" id="subj" placeholder="Subject"> 
 
    </div> 
 
    <div> 
 
    <textarea cols="30" rows="10" placeholder="Describe your project in detail..."> </textarea> 
 
    </div> 
 
</form>

回答

0

更改下面的代碼

<form method="post" name="myForm" id="my-form" onblur="checkInfo();"> 

<form method="post" name="myForm" id="my-form" onsubmit="return checkInfo()"> 

它應該工作。你可能還需要一個行動屬性添加到形式,例如:

<form method="post" action = "demo_form.asp" name="myForm" id="my-form" onsubmit="return checkInfo()">

這意味着在提交時,將表格數據到一個名爲「demo_form.asp(或demo_form文件。 PHP等)「,來處理輸入。