2014-07-20 36 views
0

我有一個任務,我應該在表單的值更改以及提交時驗證表單。我已經允許從互聯網上獲得的功能本身,只要我引用來源。我的問題是它不工作?我已經在瀏覽器中測試過了,無論我提供的是多少亂碼,我都沒有得到糾正。我以爲我理解了這個概念,但它不起作用?這裏是我的代碼:JavaScript驗證onChange和onSubmit問題

<form name="usercomments" method="post" action="cgi-bin/form-mail2.pl" 
       onsubmit="return validateForm();"strong text> 
      <table class="usercomments"> 
       <tbody> 
        <tr> 
         <td><label for="realname">Name:</label></td> 
         <td><input id="realname" align="left" size="50" name="realname" 
            onchange="validateRealname(this, 'realnameguide');"></input></td> 
         <td id="realnameguide">Please use proper case when entering your name.</td> 
        </tr> 
        <tr> 
         <td><label for="email">Email:</label></td> 
         <td><input id="email" size="50" name="email" onchange="validateEmail(this, 'emailguide');"></input></td> 
         <td id="emailguide">Please use the format: [email protected]</td> 
        </tr> 

        <tr> 
         <td><label for="message">Comments:</label></td> 
         <td><textarea id="message" name="message" rows="15" cols="50" 
             onchange="return validateForm(this, 'commentsguide');"></textarea></td> 
         <td id="commentsguide">Please provide your comments regarding the website 
          in the space provided below.</td> 
        </tr> 
        <tr> 
         <td><label for="rating">How would you rate this website?</label></td> 
         <td> 
          <p>&nbsp;1=Fantastic!&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
           &nbsp;&nbsp;2=It's Good!&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
           &nbsp;&nbsp;3=It's Average.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
           &nbsp;&nbsp;4=It's Bad.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
           &nbsp;&nbsp;5=It's Terrible!&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</p> 
          <p style="word-spacing: 2.5em"> 
           <input type="radio" value="1" name="rating"></input> 1 
           <input type="radio" value="2" name="rating"></input> 2 
           <input type="radio" value="3" name="rating"></input> 3 
           <input type="radio" value="4" name="rating"></input> 4 
           <input type="radio" value="5" name="rating"></input> 5 
          </p> 
         </td> 
        </tr> 
        <tr> 
         <td><label for="phone"> Phone Number:</label></td> 
         <td><input type="tel" name="phonenumber" id="phonenumber" onchange="return validatePhone(this, 'phoneinfo');"> 
          </input></td> 
         <td id="phoneinfo">999-999-9999</td> 
        </tr> 
        <tr> 
         <td><label for="bday">Birthday:</label> </td> 
         <td><input id="bday" name="bday" onchange="return validateBday(this, 'bdayguide');"></input></td> 
         <td id="bdayguide">07/17/2014</td></tr> 
        <tr> 
         <td><input type="submit" value="Submit"></input></td> 
        </tr> 
       </tbody> 
      </table> 
     </form> 
+0

輸入元素爲空,它們沒有結束標記,例如:''。如果你需要腳本幫助,你必須顯示它。 – RobG

回答

0

看起來好像你現在只完成了一半的任務。您需要編寫您參考的javascript函數,例如validateRealname

您應該在單獨的JavaScript文件中執行此操作,並使用<script>標籤導入它。

您還需要從改變單選按鈕:

<input type="radio" value="1" name="rating"></input> 1 

到:

<input type="radio" value="1" name="rating">1</input> 

一旦你寫的這些功能和進口他們,你要善於去。

+0

我沒有在所粘貼的內容中包含這些功能,但它們列在我包含的代碼上方。 – user3533863

+0

在這種情況下,看起來他們的導入方式存在問題。你是否在腳本標籤中包含了這些函數,並且與這些指導一致[這裏](http://www.w3schools.com/js/js_whereto.asp) – Andy

+0

我相信我有。這是一個JavaScript文件的鏈接。我已經使用以下行導入它: http://ernestbcraft.com/public_html/form.js – user3533863