2013-12-23 85 views
0

我的代码有什么问题?提交后隐藏div

点击按钮后,我想隐藏并显示另一个结果div

发生这种情况,但未运行提交代码。该字段值不传播。

$(document).ready(function(){ 
    $('#conteudo').hide(); 

    $('#button').click(function(event){ 

     $('form#form1').submit(function(event){ 
      $("#form").hide("slow"); 
      $("#conteudo").show("slow"); 
      event.preventDefault(); 
     }); 

    }); 


    $('#mostrar').click(function(event){ 
     event.preventDefault(); 
     $("#form").show("show"); 
     $("#conteudo").hide("show"); 
    }); 
}); 
+4

你为什么要预防默认?这就是为什么它不提交。 –

+0

你是否试图只刷新页面的一部分,并提交“默默”?如果是这样,你将需要更多的代码,你需要调用某种AJAX例程来提交数据,而不需要整个页面加载表单目标。我的猜测是,这就是你通过首先防止提交而试图避免的,隐藏和显示内容并不重要,无论如何你要去一个全新的页面。 –

+0

有人可以帮助我吗? 我只是在提交时做这件事,因为当我把这个选项隐藏一个div并显示另一个时,就取消了直接在表单上发生的命令。 – Tiago

回答

0

无法做到。如果朋友有这样解决相同的问题。

$(document).ready(function(){ 
    $('#conteudo').hide(); 

    <?php if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) { ?> 
      $(document).ready(function(){ 
       event.preventDefault(); 
       $("#form").hide("slow"); 
       $("#conteudo").show("slow"); 
      }); 
    <?php } ?> 

    $('#mostrar').click(function(event){ 
     event.preventDefault(); 
     $("#form").show("show"); 
     $("#conteudo").hide("show"); 
    }); 
}); 
2

http://api.jquery.com/submit/说:

......所以我们可以通过调用 事件对象.preventDefault()或者从我们的处理程序返回false取消提交操作。 ...

您应该删除的preventDefault()

+0

对不起,但我没有... – Tiago

+0

如果我删除“event.preventDefault()”,提交会发生,但不会出现在另一个div上。 – Tiago