2015-06-07 70 views
-1

我一直在一個網頁上進行一些簡單的表單驗證並使用javascript函數和ajax進行提交。我寫了一個驗證表單的函數,然後將它提交給另一個php頁面。然後我創建了第二個表單並驗證/提交javascript函數。兩者都單獨工作,所以我不認爲這是我的函數是錯誤的,但是當我嘗試將它們放入一個js文件來調用它們時,只有其中一個函數有效。我可以刪除其他重新上傳它,它調用罰款。如果有人能夠發現我做錯了什麼,我將不勝感激。在JavaScript中的多個函數在一個文件中失敗

$(function() { 
    $('.error').hide(); 
}); 

function publication(){ 
    $('.error').hide(); 
     var title = $("input#title").val(); 
      if (title == "") { 
       $("label#title_error").show(); 
       $("label#title_error").css("color", "red"); 
       $("input#title").focus(); 
       return false; 
      } 
     var author = $("input#author").val(); 
      if (author == "") { 
       $("label#author_error").show(); 
       $("label#author_error").css("color", "red"); 
       $("input#author").focus(); 
       return false; 
      } 
     var publisher = $("input#publisher").val(); 
      if (publisher == "") { 
       $("label#publisher_error").show(); 
       $("label#publisher_error").css("color", "red"); 
       $("input#publisher").focus(); 
       return false; 
      } 
     var avail = $("input#avail").val(); 
      if (avail == "") { 
       $("label#avail_error").show(); 
       $("label#avail_error").css("color", "red"); 
       $("input#avail").focus(); 
       return false; 
      } 
     var info = $("textarea#info").val(); 
      if (info == "") { 
       $("label#info_error").show(); 
       $("label#info_error").css("color", "red"); 
       $("textarea#info").focus(); 
       return false; 
      } 
     var webaddr = $("input#webaddr").val(); 
     var YYYY = $("input#YYYY").val(); 
     var img = $("input#img").val(); 
    var dataString = 'title='+ title + '&author=' + author + '&publisher=' + publisher + '&avail=' + avail + '&info=' + info + '&YYYY=' + YYYY + '&webaddr=' + webaddr + '&img=' + img; 
     //alert (dataString);return false; 
    $.ajax({ 
     type: "POST", 
     url: "/includes/add_publication.php", 
     data: dataString, 
     success: function() { 
      $('#event_form').html("<div id='message'></div>"); 
      $('#message').html("<h2>Publication Added</h2>") 
      .append("<p>The publication has been added to the database.</p>") 
      .hide() 
      .fadeIn(1500); 
     } 
    }); 
    return false; 
} 

function events(){ 
    $('.error').hide(); 
     var eventname = $("input#eventname").val(); 
      if (eventname == "") { 
       $("label#event_error").show(); 
       $("label#event_error").css("color", "red"); 
       $("input#eventname").focus(); 
       return false; 
      } 
     var venue = $("input#venue").val(); 
      if (venue == "") { 
       $("label#venue_error").show(); 
       $("label#venue_error").css("color", "red"); 
       $("input#venue").focus(); 
       return false; 
      } 
     var info = $("textarea#info").val(); 
      if (info == "") { 
       $("label#info_error").show(); 
       $("label#info_error").css("color", "red"); 
       $("textarea#info").focus(); 
       return false; 
      } 
     var webaddr = $("input#webaddr").val(); 
     var DD = $("input#DD").val(); 
     var MM = $("input#MM").val(); 
     var YYYY = $("input#YYYY").val(); 
     var DD2 = $("input#DD2").val(); 
     var MM2 = $("input#MM2").val(); 
     var YYYY2 = $("input#YYYY2").val(); 
     var img = $("input#img").val(); 
    var dataString = 'eventname='+ eventname + '&venue=' + venue + '&info=' + info + '&webaddr=' + webaddr + '&DD=' + DD + '&MM=' + MM + '&YYYY=' + YYYY + '&DD2=' + DD2 + '&MM2=' + MM2 + '&YYYY2=' + YYYY2 + '&img=' + img; 
     //alert (eventString);return false; 
    $.ajax({ 
     type: "POST", 
     url: "/includes/add_event.php", 
     data: dataString, 
     success: function() { 
      $('#event_form').html("<div id='message'></div>"); 
      $('#message').html("<h2>Event Added</h2>") 
      .append("<p>The event has been added to the database.</p>") 
      .hide() 
      .fadeIn(1500); 
     } 
    }); 
    return false; 
} 

publicationevents功能通過在HTML click處理程序(這裏是publication)呼籲:

<table width="100%" id="publication"> 
    <tr> 
     <td width="20%">Title:</td> 
     <td> 
      <input name="title" type="text" id="title" size="50" /> 
     </td> 
     <td width="30%"> 
      <label class="error" for="title" id="title_error">This field is required.</label> 
     </td> 
    </tr> 
    <tr> 
     <td colspan="2"></td> 
    </tr> 
    <tr> 
     <td>Author:</td> 
     <td> 
      <input name="author" type="text" id="author" size="50" /> 
     </td> 
     <td> 
      <label class="error" for="author" id="author_error">This field is required.</label> 
     </td> 
    </tr> 
    <tr> 
     <td colspan="2"></td> 
    </tr> 
    <tr> 
     <td>Publisher:</td> 
     <td> 
      <input name="publisher" type="text" id="publisher" size="50" /> 
     </td> 
     <td> 
      <label class="error" for="publisher" id="publisher_error">This field is required.</label> 
     </td> 
    </tr> 
    <tr> 
     <td colspan="2"></td> 
    </tr> 
    <tr> 
     <td>Publication Year:</td> 
     <td> 
      <input name="YYYY" type="text" id="YYYY" size="4" /> 
     </td> 
    </tr> 
    <tr> 
     <td colspan="2"></td> 
    </tr> 
    <tr> 
     <td>Website:</td> 
     <td>http:// 
      <input name="webaddr" type="text" id="webaddr" size="50" /> 
     </td> 
    </tr> 
    <tr> 
     <td colspan="2"></td> 
    </tr> 
    <tr> 
     <td>Availability:</td> 
     <td> 
      <input name="avail" type="text" id="avail" size="30" /> 
     </td> 
     <td> 
      <label class="error" for="avail" id="avail_error">This field is required.</label> 
     </td> 
    </tr> 

    <tr> 
     <td colspan="2"></td> 
    </tr> 
    <tr> 
     <td valign="top">Publication Information:</td> 
     <td> 
      <textarea rows="4" cols="50" name="info" id="info"></textarea> 
     </td> 
     <td> 
      <label class="error" for="info" id="info_error">This field is required.</label> 
     </td> 
    </tr> 
    <tr> 
     <td colspan="2"></td> 
    </tr> 
    <tr> 
     <td>Image Name:</td> 
     <td> 
      <input name="img" type="text" id="img" size="50" /> 
     </td> 
    </tr> 
    <tr> 
     <td colspan="2"> 
      <input type="submit" name="submit" class="button" id="pubs_btn" value="Add" onclick="publication()" /> 
     </td> 
    </tr> 
</table> 

正如你可以看到希望有三樣東西在這裏發生。 1:所有的錯誤信息都在頁面加載中隱藏,第二和第三是我的兩個功能 - 發佈和事件。如果他們是空白的,我有幾個經過驗證的字段會得到rec錯誤消息。然後我將所有變量發送到一個字符串,通過ajax提交給一個php文件,將它們插入我的sql數據庫。

我可能會錯過某個地方那樣簡單的分號 - 但由於我從未在一個文件中寫過多個函數,所以我沒有這樣做。

+0

您是否記得在「其他」HTML文件中更改src href? – Robbie

回答

1

你有一個語法錯誤:

var eventString = 'eventname='+ eventname + '&venue=' + venue + '&info=' + info '&webaddr' + webaddr + '&DD' + DD + '&MM' + MM + '&YYYY' + YYYY + '&DD2' + DD2 + '&MM2' + MM2 + '&YYYY2' + YYYY2 + '&img' + img; 
// Here ------------------------------------------------------------------------^ 

這可以防止你的JavaScript被正確解析,從而防止您的代碼時發生點擊正在運行。


Web瀏覽器將告訴你這一點:如果你打開你的Web控制檯或開發工具,你會看到錯誤中列出。

+0

感謝您指出這個錯誤,當我重新輸入eventString來檢查錯誤時,我錯過了信息之後的所有標題中的+ out和=。 – JadeTech

+0

這現在已經解決了。非常感謝您的幫助 – JadeTech

相關問題