2013-06-11 2 views
0

거의 모든 코드를 검색하고 적용했지만 아무 것도 작동하지 않는 것 같습니다. 여기Enter 키를 사용하여 HTML의 제출 버튼에 액세스

내가 검증을 구현하기 위해 노력하고 그리고 난 그냥 암호 필드에서 Enter 키를 누릅니다 마자, 그것은 호출되는 함수와 함께 제출 버튼에 액세스하는 것을 원 ..

내 전체이다 (매우 LONG : D) 코드

<!DOCTYPE html> 
<html> 
<head> 
<title>Student Information</title> 
<link href="style.css" rel="stylesheet" type="text/css" /> 
<script> 
function reset() 
{ 
    document.forms['testform'].reset(); 
    document.getElementById("x1").focus(); 
} 
function passfocus() 
{ 
document.getElementById("x2").focus(); 
} 
function passreset() 
{ 
    document.getElementById("x2").value=""; 
    document.getElementById("x2").focus(); 
} 

function Result() 
{ 
    var user=document.getElementById("x1").value; 
    var pass1=document.getElementById("x2").value; 
    passw=+pass1; 
    var at=user.indexOf("@"); 
    var dot=user.lastIndexOf("."); 
    var sub=user.substring(user.length, dot+1); 
    for(i=0;i<sub.length;i++) 
    { 
    var d=sub.charAt(i); 
    if(d==='0' || d===',' || d==='?' ||d===';' || d===':' || d==='+' || d==='=' || d==='-' || d==='1' ||d==='2' || d==='!' ||d==='@' ||d==='#' ||d==='$' ||d==='%' ||d==='^' ||d==='&' ||d==='*'|| d==='(' || d===')'|| d==='3' ||d==='4' ||d==='5' ||d==='6' ||d==='7' ||d==='8' ||d==='9') 
    var d1=0; 
    else 
    var d1=1; 
} 
var count=0; 
for(j=0;j<user.length;j++) 
{ 
    var d2=user.charAt(j); 
    if(d2=='@') 
    count=count+1;    
} 
var flag=0; 
for(k=0; k<(user.length-1); k++) 
{ 
    if(user.charAt(k)==='.' && user.charAt(k+1)==='.') 
    flag=1; 
}   
if(!user) 
{ 
    alert("Field is mandatory"); 
} 
else if(d1===0) 
{ 
    alert("E-mail not valid"); 
    reset(); 
} 
else if(count===2) 
{ 
    alert("E-mail not valid"); 
    reset(); 
} 
else if(at<1 || dot<at+2 || dot+2>=user.length) 
{ 
    alert("E-mail not valid"); 
    reset(); 
} 
else if (flag===1) 
{ 
    alert("E-mail not valid"); 
    reset(); 
} 
else 
{ 
    if(passw===0) 
    { 
     alert("Please enter password"); 
     passfocus(); 
    } 
    else if(pass1.length<8) 
    { 
     alert("Password must be greater than 8 characters"); 
     passreset(); 
    } 
    else 
    { 
     alert("you have successfully submitted the form"); 
     reset(); 
    } 
} 
} 
</script> 
</head> 
<style> 
p.serif{font-family:"Times New Roman",Times,serif;} 
.sansserif{font-family:Arial,Helvetica,sans-serif;} 
.td1{text-align:middle;} 
table,td,th 
{ 
border:1px solid red; 
} 
table 
{ 
width:100%; 
} 
th 
{ 
height:50px; 
} 
td 
{ 
padding:15px; 
} 
</style> 
<body style="background-color:AntiqueWhite;"> 
<h2 align="middle" style="background-color:White;"><font  color="MediumVioletRed">Student Login</font></h2> 
<p align="middle" class="sansserif" style="background-color:yellow;"><b><i><font color="Maroon">Enter Student Credentials below to login</font></i></b></p> 
<table border="1" > 
    <th>CREDENTIALS</th> 
<tr> 
     <td class="sansserif"> 
     <form name="testform" align="middle" 
     <div style="color:#006400" class="myCustomDiv"> 
     E- mail ID: <input type="text" name="usern" id="x1"> 
     <br> 
     Password: <input type="password" name="pass" id="x2" > 
     <br> 
     <button type="button" onclick="Result()" align="middle" id="x3">Login</button> 
     </div> 
    </form> 
    </td> 
</tr> 
</table> 
</body> 
</html> 

자세히 설명하기 위해 단축하지 않았습니다. 제가 아는 것은 매우 기본적인 것입니다. 누군가가 도울 수 있다면 정말 감사 할 것입니다.

+0

정규식을 사용하면 해당 코드를 1000 % 더 짧게 만들 수 있습니다. – elclanrs

+0

나는 어제 바로 HTML을 배웠다 : ( – MaddyX

+0

왜 버튼에'type = "submit"대신에 type = "button"이 있는가? –

답변

0

귀하의 html에는 끔찍한 오류가 있습니다. </head><body> 사이에 <style> 요소가 있습니다. 그런 것들은 아니오입니다!

양식 정의가 완료되지 않았습니다. 시작 태그에 >이 누락되어 있으며 action 속성이 누락되었습니다. 후자는 필수이며 제출할 수없는 원인입니다.

이외의 다른 오류가 있습니다 (예 : 자바 스크립트).
예를 들어, passw=+pass1은 무엇을 의미합니까?
그러나이 모든 것은 양식 시작 태그 문제보다 두 번째입니다. 테스트를 먼저 수행하면 제출이 제대로 이루어 지므로 제대로 테스트 할 수 있습니다.

+0

그래, 그랬어! 고마워! 실수는 이상했다. – MaddyX

관련 문제