2015-10-18 34 views
0

我正在使用它來檢查字段是否爲空。問題是,當字段爲空時,錯誤消息從不會被拋出,它允許提交。是否因爲我試圖在按鈕上運行onclickonclientclick?這是我的語法

HTML如何防止使用JavaScript的空白字段?

<asp:Button ID="main1212" runat="server" Text="Check If JS Works" 
OnClick="DoSomethingDoNothing_OnClick" OnClientClick="return ValidateData();" /> 


JS

<script type="text/javascript"> 
function ValidateData() { 
    var main1212, dropdownselection, dropdownselection1, field21 
    main1212 = document.getElementByID("txt313").value; 
    dropdownselection = document.getElementByID("dropdownlist1").value; 
    dropdownselection1 = document.getElementByID("dropdownlist11").value; 
    field21 = document.getElementByID("txt12").value; 
    if (main1212 == '') 
    { 
     alert("Error"); 
     return false; 
    } 
    if (dropdownselection == '') 
    { 
     alert("Error"); 
     return false; 
    } 
    if (dropdownlist1 == '') 
    { 
     alert("Error") 
     return false; 
    } 
    if (field21 == '') 
    { 
     alert("Error"); 
     return false; 
    }} 
</script> 



編輯 如果我打開瀏覽器控制檯,然後按應運行我的腳本按鈕他們沒有顯示錯誤?

+0

你的JavaScript在做什麼?你確定它運行?通過代碼需要哪條路徑?學習調試你的代碼(逐行執行,檢查值)。 – mason

+2

如果你打開你的Web控制檯,你會看到一個錯誤,告訴你什麼是錯誤的:'getElementByID'中的'D'應該是小寫。始終,始終,如果您的代碼正在做出意想不到的事情並且尋找錯誤,請始終打開Web控制檯。還可以使用內置在瀏覽器中的強大的調試器來逐行觀看代碼。 –

+0

@mason - 沒有任何警報被觸發。我會谷歌學習如何登錄到控制檯,看看是否會告訴我我的問題是在哪裏。 – MustangLover

回答

0

它缺少一個分號在功能是validateData的這條線(不知道):

var main1212,dropdownselection,dropdownselection1,field21; 

(這是很好的避免額外的空間,也沒有爲這個變量)

它可能更簡單,或者像這樣:

window.onload=function(){document.getElementById('main1212').onclick=function(){ValidateData();};} 
+2

通過引用一個逗號並指出你的意思是在'field21後面說';'(一個分號);' – haraman

+2

糾正那個@TJ的評論使'd'小寫的Crowder工作。 – MustangLover

相關問題