2013-12-23 121 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