2017-01-21 9 views
1

サインアップフォームの[送信]ボタンをクリックすると、JavaScript関数は呼び出されませんが、FirefoxのブラウザでPycharm IDEではなく、フォームを送信すると、私のJavaScript関数 'emp_details'で見つけることができる入力フィールドがなくなっても、それは送信されますが、それは起こっていません。フォームの提出中にJavaScript関数が呼び出されない

My signup.html 


<!DOCTYPE html> 
<html lang="en"> 
<head> 
    <meta charset="UTF-8"> 
    <title>Employee Details</title> 
    <script type="text/javascript"> 
    function emp_details(){ 
     var id = document.forms["form2"]['id'].value; 
     var fname = document.forms["form2"]["fname"].value; 
     var lname = document.forms["form2"]["lname"].value; 


     var Password = document.forms["form2"]['password'].value; 

     var designation = document.forms["form2"]['designation'].value; 
     var experience = document.forms["form2"]['experience'].value; 
     window.alert("fname"); 
     var alphaExp = /^[a-zA-Z]+$/; 
     var pass = /^[[email protected]$#]{8,15}$/; 
     if(!id ||!fname || !lname ||!Password ||!designation ||!experience) 
     { 
      alert("Please enter all the fields"); 
      return false; 
     } 
     else 
     { 
     if(!isNaN(id)) 
     { 
     if(fname.match(alphaExp)) 
     { 
      if(lname.match(alphaExp)) 
      { 

        if(Password.match(pass)) 
        { 
        /*var values = Sijax.getFormValues("#form2"); 
        alert(values); 
        Sijax.request('submit',[values]);*/ 
        return true; 
        } 


       else 
       {alert("Enter a valid password "); 
       return false; 
       } 
      } 
      else 
      { 
      alert("Enter a valid last name"); 
      return false; 
      } 
      } 
     else 
     { 
     alert("Enter a valid first name"); 
     return false; 
     } 
     } 
     else 
     { 
     alert("ID must be in Numbers"); 
     return false; 
     } 
    } 
} 
    </script> 

    <style> 
     label { 
    display: inline-block; 
    width: 140px; 
    text-align: right; 
}​ 
label,input,select{ 
margin-left:40px; 
} 
    </style> 
</head> 
<body style="font-family: Liberation Sans"> 
<div style="padding-left:5%;padding-top:0.2%;height:1%;width:100%;background-color:#11557c"> 
    <h2>Welcome to my site</h2><br> 
    </div> 
<div style="margin-left:15%" > 
<form name="form2" id="form2" method="post" action = "http://127.0.0.1:2908/signup" > 

<br><br><br> 
<label id = "id">ID</label> <input type="text" name = "id" placeholder = "ID" style = "padding-left: 0.2%;"><br><br> 
    <label id = "fname">First Name</label> <input type="text" name = "fname" placeholder = "First Name" style = "padding-left: 0.2%;"><br><br> 
    <label id = "lname">Last Name</label> <input type="text" name = "lname" placeholder = "Last Name" style = "padding-left: 0.2%;"><br><br> 
    <label id = "password">Password</label> 
    <input type="password" name = "password" placeholder = "Password" style = "padding-left: 0.2%;"><br><br> 
<label id = "department">Department</label> 
    <select name="department"> 
     <option value="Ecategory"> Category </option> 
     <option value="Developer Team"> Developer Team</option> 
     <option value="Testing Team"> Testing Team</option> 
     <option value="Network Team"> Network Team</option> 
     <option value="Server Maintance Team"> Server Maintance Team</option> 
    </select><br><br> 
    <label id = "designation">Designation</label> 
    <input type="text" name = "designation" placeholder = "Designation" style = "padding-left: 0.2%;"><br><br> 
    <label id = "experience">Experience</label> 
    <input type="text" name = "experience" placeholder = "Experience" style = "padding-left: 0.2%;"><br><br> 

    <label id = "emp_type">Admin</label> 
    <input type="radio" id = "r1" value="Yes" name="emp_type" ><span>Yes</span> 
    <input type="radio" id = " r2" value="No" name="emp_type"checked="checked"><span>No</span> 
    <br><br><br> 

    <input type="submit" value="Submit" onsubmit="return emp_details()" style="font-size:15pt;color:white;background-color: #3f51b5;border:2px solid ;padding:7px;padding-left:100px;padding-right:100px"> 
    </form></div> 
</body> 

</html> 
+0

私は 'onsubmit'属性は' '

にすべきだと思います - [提出イベントのドキュメント]を参照してください(https://developer.mozilla.org/ja-jp/docs/Web/Events/submit) –

答えて

1

onsubmit属性がない、あなたの送信ボタンの上に、formタグにする必要があります。 MDNから引用:

送信イベントは、フォームの送信時に発生します。

submitform要素でのみ発生し、buttonでは送信されません。またはinputに送信されます。 (フォームは、ボタンではなく、提出されます。)

<form name="form2" id="form2" method="post" action="http://127.0.0.1:2908/signup" 
     onsubmit="return emp_details()"> 

    <!--- .... ---> 

    <input type="submit" value="Submit"> 
</form> 
関連する問題