2013-10-25 29 views
0

我有一個調查。點擊按鈕需要驗證某些必填字段/本地存儲/轉到確認頁面(以防止用戶重新提交)。只有'FirstName''Hostipal'需要atm。HTML5本地存儲,驗證所需的文本框問題

問題是當所有必填字段被填充時,它無法轉到confirmation.html。如果我將1個必填字段打開,它不驗證並進行確認。如果所有「必要」的語法取出來,它沒有去確認

<label>First Name*:</label> <input required title="Name is required" id="FirstName" name="MainName" type="text"/> 

在所有情況下,它仍然保存到本地存儲但是。任何輸入驗證必填字段將不勝感激。希望可以把它放在我的clicked()函數中。

<button type="submit" value="Save" id="Save" >Submit Form</button> 

功能

$(document).ready(function() { 
    $('#Save').click(function (e) { 
     if (confirm('Are you sure you want to submit? You will not be able to go back.')) { 
      var person = $("#FirstName").val() + "." + $('#LastName').val(); 
      $('input, select, textarea').each(function() { 
       var value = $(this).val(), 
        name = $(this).attr('name'); 
       localStorage[person + "." + name] = value; 
       window.location.href = "Confirmation.html"; 
       console.log('stored key: ' + name + ' stored value: ' + value); 
      }); 

     } 
    }); 
}); 

如果上面沒有顯示我的問題,這裏是全:http://jsfiddle.net/smZHe/1/

+0

你的小提琴有句法錯誤 –

+0

你知道我在哪裏可以解決嗎?我拿出一些不必要的東西來簡化它,理由是爲什麼。 – user1

+0

應該是固定的。 – user1

回答

1

jQuery中每一個輔助方法,執行我們通過一次函數爲初始數組中的每個項目。您正嘗試多次執行以下語句(每次輸入一次,select,textarea)。

window.location.href = "Confirmation.html"; 

您可以使用一個變量作爲標誌來標記驗證失敗。最後,您可以檢查變量並有條件地進行導航。

+0

有道理但不確定如何實現。 – user1