检查值存在,显示错误消息 - 在通过jquery提交表单之前

时间:2011-05-16 10:18:57

标签: jquery

任何人都可以帮助检查价值是否存在吗?

我需要检查姓名,电话,电子邮件和查询是否在下面的表单中有值,然后在单击按钮时提交表单...如果没有值,则需要显示错误消息。

这是我的表格:

<form action="#" id="emailForm" method="post">
  <div class="left">
    <input type="hidden" value="1" name="submitted">
    <input type="text" onblur="if(this.value==''){this.value='name'};" onfocus="if(this.value=='name'){this.value=''};" class="inputField" value="name" name="contactname"><br>
    <input type="text" onblur="if(this.value==''){this.value='telephone number'};" onfocus="if(this.value=='telephone number'){this.value=''};" class="inputField" value="telephone number" name="telno"><br>
    <input type="text" onblur="if(this.value==''){this.value='email address'};" onfocus="if(this.value=='email address'){this.value=''};" class="inputField" value="email address" name="email"><br>
  </div>
  <div class="right">
    <textarea rows="10" cols="10" onblur="if(this.value==''){this.value='enquiry'};" onfocus="if(this.value=='enquiry'){this.value=''};" class="textarea" name="enquiry">enquiry</textarea>
    <br>
    <button class="send"></button>
  </div>
</form>

非常感谢任何帮助...

3 个答案:

答案 0 :(得分:0)

This jQuery plugin看起来会让您的代码更容易实现。

答案 1 :(得分:0)

$('#emailForm').submit(function(){
  //check name, you can do the rest... 
  if($(this).find("input[name='contactname']").val() == "" || $(this).find("input[name='contactname']").val() == "name"){
    // show error
    alert('error');
    // don't send the form
    return false;
  }
  // if we get to this point send the form
  return true;
});

如果你return false它将停止发送表单......:)

与链接相同...... $('a').click(function(){ return false; });

答案 2 :(得分:0)

虽然以下内容可行,但您确实应该使用jquery验证插件。这里有很多关于stackoverflow或web的例子。

$('emailForm').submit(function(event) {
   var $inputs = $('input', this);
   var $validInputs = $inputs.filter(function() {
                       return $(this).val().length > 0;
                     });

   if ($inputs.length != $validInputs.length)
   {
       alert('Whoops, there is an error.');
       event.preventDefault();
   }
});