2010-11-17 113 views
1

我正在嘗試使用javascript和div創建多步表單。我知道如何以這種方式創建表單,但問題是我希望每個步驟中的字段在移至下一個之前進行驗證。例如:如果用戶未填寫必填字段或在字段中出現錯誤,該框將以紅色突出顯示,並且在更正之前不會進入下一步。我知道如何進行驗證,但無法停止頁面。任何幫助將不勝感激。Javascript Multistep Form with Validation

謝謝!

+0

考慮使用任何js框架像jQuery? – yoda 2010-11-17 21:50:41

+0

您是否有希望禁用的下一個按鈕,直到所有字段都有效,可能會立即標記無效字段。或者是否希望在按下下一個按鈕時進行驗證,並且沒有預先完成? – Orbling 2010-11-17 21:51:12

+1

源代碼或答案的「紫色」 – zzzzBov 2010-11-17 21:55:36

回答

0

要提交你需要添加

<form id="form" onsubmit="validate(); return false;"> 

驗證是您validationg功能停止的形式,那麼你可以調用像這樣

document.getElementById('form').submit() 

如果表單是有效的;)

+1

實際上,'validate()'在這種情況下永遠不會被調用 - 'return false;'會立即終止代碼或產生錯誤。如果驗證無法停止表單提交,則validate(this)應該返回false。 – 2010-11-17 22:07:00

+0

你的權利,在例子中修復。 – 2010-11-17 22:22:23

+0

有一點需要注意的是,你必須實際返回false;在提交。 「return validate()」在「某些」瀏覽器中無法正確運行。所以你需要「驗證();返回false;」 – 2010-11-17 22:23:57