我有一個表格,我已經應用了javascript驗證,但如果用戶已禁用JavaScript,那些驗證不起作用,請幫助我如何停止用戶提交表單直到&,除非他啓用javascript 。 謝謝如何阻止用戶在用戶瀏覽器禁用JavaScript時提交表單?
回答
使用JavaScript將提交按鈕放在那裏。
<script type="text/javascript">
document.write("<input type=\"submit\" value=\"Submit Form\" />");
</script>
<noscript>
<p style="color: red;"><b><i>Please enable JavaScript to continue</i></b><p>
</noscript>
您可以在您的提交按鈕上添加disabled="disabled"
屬性。然後在DOM加載時使用javascript刪除此屬性。
更好的是,創建禁用表單的所有元素,然後使用Javascript啓用它們。 – erturne
你不能在客戶端。但是你仍然可以在服務器端進行驗證。實質上,服務器端驗證是真正重要的。
您可以使用javascript驗證,但請注意,javascript僅用於添加更多的可用性(即使用它來使表單提交更容易的客戶端)。如果沒有javascript,表單應該仍然可以提交,部分用於默認情況下沒有啓用javascript的小型用戶基礎。部分原因是一個非常小的用戶羣,否則他們只會使用客戶端的JavaScript驗證,並可以(也可能會嘗試在某個時刻)繞過這一點。所以這就是爲什麼服務器驗證是必須的,不僅僅是沒有javascript的小用戶羣。
然後ofcourse回答你的問題,對於小用戶羣誰不會試圖操縱您的數據庫或服務器,你可以刪除你的<form>
及用途:
<noscript>
You can FORM_BEHAVIOUR me with javascript enabled.
</noscript>
<script>
create a form here with javascript
</script>
要渲染究竟如何,你的形式是然後當然你的,但請注意,沒有JavaScript可以阻止非常小的用戶羣濫用它。
javascriptdemo.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>JAVASCRIPTDEMO</title>
<script language="javascript" type="text/javascript">
function onset()
{
document.forms["jdemoform"].elements["uname"].focus();
}
function jdemo()
{
if(document.forms["jdemoform"].elements["uname"].value=="")
{
alert("fill your name");
document.forms["jdemoform"].elements["uname"].focus();
return false;
}
document.forms["jdemoform"].submit();
}
</script>
</head>
<body onload="onset();">
if javascript disabled then form will not be submitted
<form name="jdemoform" method="post" action="getname.php">
Name:<input type="text" name="uname" />
<input type="button" value="Submit" onClick="return jdemo();"/>
</body>
</html>
getname.php
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>JAVASCRIPTDEMO</title>
</head>
<?php
echo $_POST["uname"];
?>
<body>
</body>
</html>
享受STACKOVERFLOW現在時間改變的新簡單答案........... –
comman man給它評分............... –
- 1. 如何阻止瀏覽器在JavaScript中提交表單?
- 2. 僅使用javascript驗證表單並阻止用戶提交JS禁用表單?
- 3. 阻止JavaScript禁用的用戶瀏覽Web應用程序
- 4. 如何阻止用戶在瀏覽器中瀏覽?
- 5. 如何禁止用戶提交鏈接? (HTML表單/ PHP/JavaScript的)
- 6. 如何阻止非瀏覽器客戶端提交請求?
- 7. 阻止用戶提交
- 8. 如何在用戶使用Prototype提交時禁用表單?
- 9. 如何在用戶提交表單時禁用beforeunload動作?
- 10. 提交表單時阻止瀏覽器跳轉到首頁
- 11. Javascript阻止表單提交
- 12. 如何防止瀏覽器對話框阻止用戶界面定時器
- 13. BlackBerry 10瀏覽器在使用瀏覽器提交表單時提交表單使用preventDefault
- 14. 如何禁用表單提交如果用戶名不可用
- 15. 如何捕獲用戶的瀏覽器信息並在表單域中提交?
- 16. 如何使用NG-禁用,以防止用戶重新提交表單
- 17. 如何在用戶點擊提交按鈕時阻止退出javascript警告
- 18. 阻止用戶提交表單中的數據
- 19. 從表單提交數據到mysql阻止用戶兩次
- 20. 提交後阻止用戶返回PHP表單
- 21. 使用javascript提交表單提交瀏覽器的請求超時
- 22. 阻止用戶使用谷歌瀏覽器編輯源代碼
- 23. 禁用提交按鈕,當點擊它,會阻止谷歌瀏覽器
- 24. Chrome瀏覽器在用戶彈出警告框後嘗試阻止JavaScript默認值時彈出Chrome瀏覽器
- 25. 在用戶登錄之前阻止瀏覽器創建HTML5 ApplicationCache
- 26. 阻止用戶返回正在登錄Web瀏覽器
- 27. UIViewAnimation阻止用戶交互
- 28. 提示並阻止用戶瀏覽/關閉頁面
- 29. 禁止用戶使用新的瀏覽器標籤註銷
- 30. Django表單嚮導無法阻止使用Javascript提交表單
您_must_在服務器端以及_even如果它似乎是多餘的重複JavaScript_已編碼的驗證,因爲一個積極的用戶能找到一種方法來提交表單驗證(例如,通過開發工具),無論你喜歡與否。如果你只想在一個地方實現驗證,那麼在服務器上執行,而不是客戶端。 – nnnnnn