试图阻止提交空表格

时间:2014-06-28 03:58:30

标签: javascript html validation

我的HTML文档中有一个表单,它只有一个“文本”输入和一个提交按钮。 我也有JavaScript来检查字段是否为空并返回true或false。

JSFiddle:http://jsfiddle.net/HBZ7t/

HTML:

<form onsubmit="checkNull();" method="post">
<input type="text" id="field">
<input type="submit">
</form>

的JavaScript

function checkNull() {
var field = document.getElementById("field");
    if(field.value !== "") {
    return true;
    }
return false;
}

但是,即使文本字段为空,也可以提交表单...有任何建议吗?

4 个答案:

答案 0 :(得分:2)

你几乎做的一切都正确,你只需要将函数中的值返回给处理程序:

<form onsubmit="return checkNull();" method="post">
// -------------^^^^^^

答案 1 :(得分:1)

在JavaScript中,您可以使用双惊叹号来检查大量无效设置:

function checkNull() {
  var field = document.getElementById("field");
  if(!!field.value) {
    return true;
  } else {
    return false;
  };

答案 2 :(得分:1)

<强> FIDDLE

JS

var form=document.getElementById("form");
form.onsubmit=function(){
 var field = document.getElementById("field");
    if (field.value !== "") {
        return true;
    }
    return false;
};

HTML

<form id="form" method="post">
    <input type="text" id="field">
    <input type="submit">
</form>

答案 3 :(得分:0)

您可以使用event.preventDefault()取消活动,请参阅mozila doc here

另外,请检查the very nice jQuery submit function and samples here

检查此示例:http://jsfiddle.net/HBZ7t/5/

$( "#target" ).submit(function( event ) {

  if($('#field').val()=='')
  {
    alert('cancel event');
    event.preventDefault();
  }

});