jquery:在表单提交/页面重新加载后隐藏/显示内容

时间:2009-03-06 17:55:53

标签: jquery html

在我的页面上,我有表单,在加载页面时默认为.hide()。这两种形式是帐户创建和登录。一旦用户单击相应的链接(.show()),它们就会显示给用户。

显然,如果任何一种表单都出现故障,我希望表单在页面加载提交后保持打开而不是隐藏。

现在,表单使用简单的html表单发布来访问数据库。有没有更好的方法来使用jquery做这个,这不是太复杂? (我仍然相当新,但学习)

由于

3 个答案:

答案 0 :(得分:3)

您可以为表单的“提交”操作分配处理程序,并随意执行任何操作。异步发送,再次删除表单,留在那里,等等。这是一个起点:

$('#myloginform').submit( function() {
  var form = $(this);
  $.post(
    form.attr('action'),
    form.serialize(),
    success: function( response ) {
      // do something when all is well
      form.hide();
    },
    failure: function( respones ) {
      // do something when everything explodes
      form.addClass('error');
    }
  );
  return false; // don't fire the regular handler
} );

jQuery API文档将为您提供有关submit(和类似)处理程序以及$.post和朋友的更多详细信息。

编辑:此代码应该进入您的$(document).ready处理程序,我假设您已经拥有showhide

答案 1 :(得分:0)

我会尝试jQuery Form Plugin。它允许您使用ajax发布表单。

成功后,您可以将浏览器重定向到通常提交的位置。

出错时,您可以显示错误消息并将用户保留在表单上。

答案 2 :(得分:0)

假设您无法使用ajax,请在页面的URL或正文中添加一些内容,说明发生了错误。然后做一些像......

jQuery(document).ready( function()
{
  if(form_error) // check for the error in some way (query_string, a div with an 'error class'
  {
    jQuery('.form-selector').show();
  }
});