2010-11-08 77 views

回答

1

無論你做什麼,如果頁面中有form標記,並禁用JavaScript,它始終可以提交。即使您刪除了action屬性,它也會提交到同一頁面。因此,您可以使用<noscript>標記向JavaScript禁用的用戶提供替代標記。另一種可能性是用CSS隱藏提交按鈕並用javascript顯示(這樣只有啓用了JS的用戶才能看到它),但這並不理想,因爲在輸入內部輸入時仍然可以通過按Enter來提交表單。

我認爲更好的辦法是離開表單提交定期請求,並在你的控制器動作處理這種情況,並作出相應的反應:

if (Request.IsAjaxRequest()) 
{ 
    // act as normal 
    return PartialView(); 
} 
else 
{ 
    // the user had javascript disabled 
    return View(); 
} 
+0

如果你看所以,當你有JS禁用,不能投票,最喜歡等等。你可以點擊它,但它什麼都不做。也許它在幕後做了些什麼 – TPR 2010-11-08 08:54:33

+1

它在幕後做了什麼,它使用'span'作爲按鈕而不是'submit'按鈕,並使用jQuery將click處理程序悄悄地附着到它們上面。因此,如果用戶禁用了JavaScript,那麼這些點擊處理程序就不會被附加,因爲您正在點擊一個簡單的「span」,所以沒有任何反應。 – 2010-11-08 08:57:52