2013-12-12 28 views
0

正如標題所示,我似乎無法得到'.focus();'的工作。 並不知道爲什麼,據我可以告訴它應該工作得很好?彷彿看不到'.focus();'元素的工作...

我想要它,所以當按下提示的'ok'按鈕時,光標將準備好鍵入'userName'文本框。

預先感謝您。代碼如下。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"  
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
    <html xmlns="http://www.w3.org/1999/xhtml"> 
    <head> 
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 
    <title>Com 311 | Week 9</title> 

    <script type="text/javascript"> 

     function validName(){ 

      var Name = document.userSurvey.userName.value; 

      if (Name=="") 
      { 
       alert ("Please enter your name."); 
       document.getElementById('userName').focus(); 
      } 

     } 

    </script> 

    </head> 

    <body> 
     <h1> User Survey </h1> 
     <hr /> 
     <h2> User Information </h2> 
     <h3>Please enter your details below:</h3> 

    <form name="userSurvey" onsubmit="validName()"> 
     <p> Full Name: (required) </p> 
     <input type="text" size="30" name="userName"/> 


     <p> Email Address: (required) </p> 
     <input type="text" size="50" name="email"/> 


     <p> Phone Number: (required)</p> 
     <input type="number" size="30" name="phone"/> 

     <hr /> 

     <p> Please choose your favourite type of book:</p> 

     <input type="checkbox" name="bookChoice0" value="Action">Action 
     <input type="checkbox" name="bookChoice1" value="Comic">Comic 
     <input type="checkbox" name="bookChoice2" value="Adventure">Adventure 
     <input type="checkbox" name="bookChoice3" value="Fantasy">Fantasy 
     <br /><br /> 

     <input type="textarea" name="textarea"/> 
     <br /><br /> 

     <input type="submit" value="Submit"/> 
     <input type="reset" value="reset"/> 
    </form> 

    </body> 
    </html> 
+0

你不會阻止提交 – charlietfl

回答

2

有多種problmes ...

  1. 如果驗證失敗
  2. 沒有與ID USERNAME的元素

嘗試

validate方法必須返回false
<form name="userSurvey" onsubmit="return validName()"> 

然後

function validName() { 
    var Name = document.userSurvey.userName.value; 
    if (Name == "") { 
     alert("Please enter your name."); 
     document.userSurvey.userName.focus(); 
     return false; 
    } 

} 

演示:Fiddle

+0

@ p.s.w.g是...糾正 –

+0

非常感謝你!工作很棒! – user3003100

0

當你有這樣的問題,你應該更容易讓別人幫你。

例如你可以把它當成一個JSFiddle,這次我爲你做了。

http://jsfiddle.net/anaran/eA4eW/

我也併入修復了。

如上圖所示,並按照一個解決方法:

<input type="text" size="30" name="userName" id="userName" />