如何在DOM准备好之前阻止表单提交?

时间:2009-10-20 10:16:32

标签: javascript html dom forms

我正在使用javascript来验证表单,

但在DOM准备好之前提交表单时无法处理

我试过了:

<form method="POST" disabled="disabled">
<input type="submit" />
</form>

但表格仍然可以提交。

4 个答案:

答案 0 :(得分:2)

一种脑死亡方式是禁用提交按钮(或表单),并在windowbody的{​​{1}}事件中启用它。 E.g:

onload

答案 1 :(得分:1)

提交之前只需检查一下,以防止在Dom准备好之前发布帖子。

<form method="POST" onsubmit="return handle()">
    <input type="submit" />
</form>

<script>

   function handle()
   {
       return imReady;
   }

   var imReady = false;
   function setReady()
   {
      imReady = true;          
   }

   // edit: add this line
   window.onDomReady = setReady();
</script>

答案 2 :(得分:0)

使用jQuery在DOM加载

上创建提交按钮
$(document).ready(function() {
    $("form").append("<input type='submit' name='submit' value='submit'>");
}

但是,这将为您的应用程序创建对javascript的依赖

或另一种选择是放置以下代码

<form action="post.php" method="post" onsubmit="return false">

答案 3 :(得分:0)

检查this blog entry,它描述了如何检查DOM准备情况。然后,创建一个在DOM准备就绪时返回true的函数,并在表单标记中使用此函数:

<form onsubmit="return my_DOM_ready_function()">