2012-03-28 78 views
0

我是Javascript和Jquery的新手。我想提交一份表格,并在提交时显示“谢谢!”消息在表单下方。我已能够将表格提交到我们的数据库并显示谢谢信息。唯一的问题是,无论字段是否填写,谢谢消息都会显示。我已经尝试过jquery的.show()以显示一个隐藏的div,其中包含感谢消息和replaceWith()方法。你能帮忙的话,我会很高兴。谢谢。即使在未提交时也显示谢谢讯息

下面是脚本:

<script type="text/javascript"> 
$(document).ready(function() { 
    $("#My-Form").submit(function(event) { 
     event.preventDefault(); 
     submitform(); 
    }) 

    $("#My-Form").validate({ 
     rules: { 
      firstname: { 
       required: true 
      }, 
      lastname: { 
       required: true 
      }, 
      phone: { 
       required: true 
      }, 
      email: { 
       required: true, 
       email: true 
      }, 
      address: { 
       required: true 
      }, 
      city: { 
       required: true 
      }, 
      state: { 
       required: true 
      }, 
      zip: { 
       required: true, 
       number: true 
      } 
     }, 
    }); 
}); 

function submitform() { 
    $.post('URL', $("#My-Form").serialize(), returnResults, 'json'); 
    $("#MyForm").replaceWith("<p><h2>Thank You!</h2></p>"); 
} 

function returnResults() { 
    //SHOW THANK YOU MESSAGE 
} 
</script> 

回答

0

只是所以我正确地得到你。我认为,无论输入的是正确的,你都会显示谢谢信息。所以为了防止这种情况,请查看valid()

的jquery.validate.js方法,您可以在returnResults()方法中执行此操作。

function returnResults() { 
    if ($("#mobile-landing").valid()) { 
     //show thank you 
    } 
} 
+0

你在哪里都编辑基于成功的提交,可以进行这样的检查(我假定你的表单ID是'#移动landing') – Michael 2012-03-28 14:49:12

+0

下面是详细信息http://docs.jquery.com/插件/验证/有效 – Michael 2012-03-28 14:52:59

+0

嘿迈克尔,感谢您的快速响应。是的,这是问题。表单ID是#mobile-landing,即使我打算叫它#My-Form哈哈。我将检查Jquery验证。 – UTvolfan85 2012-03-28 15:03:25

相关问题