2012-11-08 123 views
0

我正在使用JavaScript驗證字段的聯繫表單正在使用現有網站。最初的開發人員編寫了JavaScript,並且沒有正確驗證其中一個字段。字段是一個下拉列表,它有一個默認值,他們不希望被選中,所以如果選擇默認選項強制用戶進行選擇,我需要它返回無效的響應。驗證下拉菜單JavaScript

任何幫助將不勝感激。

// Check to make sure Area of Interest is Valid 
    var areaVal = $("#req_area").val(); 
    var areaRegexObj = /^\s*[\w\s]*\s*$/; 

    if (areaRegexObj.test(areaVal)) { 
     isValid = (isValid == false) ? false : true; 
    } else { 
     $("#req_area").val("Please specify your Area of Interest"); 
     isValid = false; 
    } 

回答

1

嘗試

var areaVal = $("#req_area option:selected").val(); 

if (!areaRegexObj.test(areaVal)) 
    $("#req_area").val("Please specify your Area of Interest"); 

它是有服務器端驗證(如果沒有的話),以便用戶不會禁用JS反正提交表單一個好主意。

+1

我會超越「這是一個好主意」 - 如果除了客戶端驗證之外,您還沒有服務器端驗證,您就有可能受到攻擊。 –

+0

它將有服務器端驗證,我只是在使用JavaScript時遇到問題。 – user1272433

+0

謝謝你的幫助,我設法解決了這個問題。默認選項有一個值與它相關聯,我刪除了該值並將if語句更改爲if(areaVal == null)。並刪除了areaRegexObj。謝謝! – user1272433