2013-02-11 118 views
0

我建立一個形式,並提醒的是,如果用戶繼續下一步他們不能移動到下一個步驟,直到輸入成功表單驗證JavaScript的隱藏元素

var location=document.getElementById("zip").value; 
if(location==null || location==""){ 
    alert("Please insert a valid location!"); 
    return false; 

} 

用戶,提交按鈕被激活。如果用戶返回到這一步,我想只在這一步隱藏提交按鈕,如果相同的輸入爲空。我怎樣才能做到這一點只使用JavaScript?提交按鈕的類是'btFinish'。

謝謝!

編輯

我正在使用jQuery。我曾嘗試

$(btPrevious).click(function(e) { 
         $(btFinish).hide(); 
        }); 

        $(btNext).click(function(e) { 
         $(btFinish).show(); 
        }); 

這隱藏了進展Finish按鈕,但是如果在輸入框中輸入錯誤,用戶點擊「btNext」,「btFinish」將顯示,即使用戶必須修復自己第一步輸入。

+0

你使用jQuery嗎? – Evan 2013-02-11 19:27:57

+0

是的請看我的編輯 – Mac10 2013-02-11 19:38:33

回答

1

好了,所以在這裏我的理解,你有兩個步驟:

1)郵編必須然後用戶點擊轉到下一個被填充步。 2)用戶可以提交完成或返回到郵政編碼步驟。

我會做這樣的事情:

$(btPrevious).click(function(e) { 
     $(btFinish).hide(); 
    }); 

    $(btNext).click(function(e) { 
     $(btFinish).show(); 
    }); 

    $('#zip').keyup(function(){ 
     if ($(this).val() === null || $(this).val() === ""){ 
      $(btFinish).hide(); 
     } 
     else{ 
      $(btFinish).show(); 
     } 
    }); 

這將阻止他們點擊btFinish,除非他們有東西寫在拉鍊。我在想,因爲他們會按下刪除按鈕,它應該觸發事件處理程序。如果他們可以通過某種方式清除郵政編碼,您還可以檢查模糊情況或其他可以清除該郵箱的事件。

+0

謝謝!這很有幫助 – Mac10 2013-02-12 15:31:08

0

我建議你嘗試類似的東西:

var location = document.formname.inputname.value; 


if(location == ""){ 

    alert("No Valid Location") 
}