禁用javascript时禁用提交按钮

时间:2009-12-27 00:25:20

标签: javascript forms submit

我有一个需要启用javascript验证的表单,有没有办法在禁用javascript时禁用提交按钮并警告用户先启用它?

6 个答案:

答案 0 :(得分:24)

默认情况下禁用它并使用JavaScript启用它。

<input type="submit" value="Submit" id="submitBtn" disabled />

<script type="text/javascript">
var _onload = window.onload || function()
{
  document.getElementById('submitBtn').disabled = false;
}

_onload();
</script>

这样,如果禁用了JavaScript,那么该按钮也将保持禁用状态。

jQuery版本:

<script type="text/javascript">
$(function(){
  $('#submitBtn').attr('disabled', false);
});
</script>

答案 1 :(得分:5)

默认情况下禁用它,如果有javascript,则启用它。

答案 2 :(得分:2)

不要定义HTML表单操作,而是仅定义onSubmit javascript事件处理程序。如果未启用javascript,onSubmit将不会触发,但由于没有表单操作,因此提交按钮也不会执行任何操作。

您还可以选择让HTML表单操作进入错误页面,解释必须启用javascript,以便用户获得某种反馈。

或者,您可以从禁用按钮开始(如其他海报建议的那样)。如果您这样做,您还应该在表单上考虑一条消息,指出按钮被禁用的原因。如果在重新启用按钮的同时启用了该消息,请使用javascript删除该消息。

答案 3 :(得分:0)

因为根据环境以编程方式禁用按钮并提醒他这两项任务都取决于某种脚本语言(如JavaScript),答案是否定的: - /

答案 4 :(得分:0)

你有启用部分的解决方案。对于警报部分,您可以使用旧的标记。 ( - :

<noscript>
<H1> It Wont work w/o javascript. Please Enable</h1>
</noscript>

答案 5 :(得分:0)

请原谅迟到的回复,但这让我想到如何解决这个问题,因为我遇到了类似的问题,这让我在这里。你应该总是在没有javascript的情况下对你的网站进行编程并在之后添加它来增强它,但在我的情况下使用像lightbox这样的东西被用作输入,如果javascript被禁用,则无法正常工作(特别是因为我将值传递给它的父级)。

我的建议是希望你启用了PHP,所以你可以简单地放在文档的顶部

<?php if (isset($_POST)) { 
    //redirect to page, or set a message variable saying "no results saved" 
    header('some_page');
    $message = "We've detected you do not have " .
               "javascript enabled. No results saved";
} ?>

从那里,您必须将页面上的所有按钮设置为

<input name="button" id="button" type="submit" onclick="return false;" />

或者你可以更简单地去

<form name="my_form" id="my_form" method="post" action="" onclick="return false;" />

希望这有帮助!