0
當用戶禁用javascript時,我想讓ajax.beginform根本不做任何事情,而不是提交定期的完整頁面發佈請求。什麼是實現這一目標的正確方法?mvc - ajax.beginform - 禁用javascript時禁用
當用戶禁用javascript時,我想讓ajax.beginform根本不做任何事情,而不是提交定期的完整頁面發佈請求。什麼是實現這一目標的正確方法?mvc - ajax.beginform - 禁用javascript時禁用
無論你做什麼,如果頁面中有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();
}
如果你看所以,當你有JS禁用,不能投票,最喜歡等等。你可以點擊它,但它什麼都不做。也許它在幕後做了些什麼 – TPR 2010-11-08 08:54:33
它在幕後做了什麼,它使用'span'作爲按鈕而不是'submit'按鈕,並使用jQuery將click處理程序悄悄地附着到它們上面。因此,如果用戶禁用了JavaScript,那麼這些點擊處理程序就不會被附加,因爲您正在點擊一個簡單的「span」,所以沒有任何反應。 – 2010-11-08 08:57:52