Jquery如何在提交时隐藏表单并显示链接以再次显示表单

Jquery如何在提交时隐藏表单并显示链接以再次显示表单,jquery,html,forms,Jquery,Html,Forms,我是jQuery新手,下面是我想问的问题。下面是HTML代码 <div> <!-- Div One --> <div class="search_tag"> <span>Show search From</span> </div> <!-- Div Two --> <div class="search"> <form> ......

我是jQuery新手,下面是我想问的问题。下面是HTML代码

<div>
  <!-- Div One -->
  <div class="search_tag">
    <span>Show search From</span>
  </div>

  <!-- Div Two -->
  <div class="search">
    <form>
      ......
      <input class="submit" type="submit" value="submit" />
    </form>
  </div>
</div>

显示搜索自
......
现在,当页面加载时,我希望显示Div Two,即
,以及Div one,即

$('#toggleSearch').onclick(function(){
$('.search').toggle();
$('.search_tag').toggle();
});
$(“#提交”).onclick(函数(){
$('.search').toggle();
$('.search_tag').toggle();
});

好的,这已经接近你想要的了,我想会有帮助的。(你想要的东西很容易就能从中得到。)


显示搜索表单
var form_submitted=错误;
刷新();
$('#myform')。单击(函数(){
提交的表格=真;
刷新();
});
$(“#搜索标记”)。单击(函数(){
提交的表格=假;
刷新();
});
函数刷新(){
$(“#搜索”)。切换(!表单#u已提交);
$('search_tag')。切换(表单提交);
}
工作示例:

尝试

jQuery(function($){
    $('.search form input[value="submit"]').click(function(){
        $(this).closest('.search').hide();
    })

    $('.search_tag').click(function(){
        $('.search').toggle()
    });
})
演示:

试试这个:

$(document).ready(function(){
$('.search_tag').hide();
$('.search_tag').click(function(){ $(this).toggle(); $('.search').toggle();});
$('.search').click(function(){ $(this).toggle(); $('.search_tag').toggle(); });
});
这是我的

您还可以通过添加以下代码,在每次单击“提交”按钮时发送表单数据,而无需刷新:

 $('#demoform').submit(function(e){
    e.preventDefault(); // Prevent from following the link
    $.post('mytest.php'); // and just post here if you are using php
});
Ajax演示

您可以试试这个

 // please set ID attribute for all control

**HTML**
<div>
   <!-- Div One -->
   <div class="search_tag" id="search">
   <span id="show">Show search From</span>
   </div>

   <!-- Div Two -->
   <div class="search" id="submitButton">
     <form>
     ......
     <input class="submit" type="button" value="submit" id="submit" />
   </form>
  </div>
</div>


function pageLoad()
{
  $('#search').hide();


  $('#submit').click(function(){

    $('#submitButton').hide();
    $('#search').show();

  })

  $('#show').click(function(){

    $('#submitButton').show();        

  })



}
//请为所有控件设置ID属性
**HTML**
显示搜索自
......
函数pageLoad()
{
$(“#搜索”).hide();
$(“#提交”)。单击(函数(){
$(“#提交按钮”).hide();
$(“#搜索”).show();
})
$(“#显示”)。单击(函数(){
$(“#提交按钮”).show();
})
}

请尝试一下,然后告诉我您是否遇到任何问题…

如果您想刷新页面,您将在div标记上取消任何jQuery设置。我建议查看Ajax表单提交。有没有一种方法可以使用javascript或jQuery来检测表单提交?是的,您可以看到是
单击
还是
onclick
?为什么我需要带有切换搜索id和onclick事件的span?我应该只使用id,还是也可以使用类?我应该将所有Jquery代码都放在$(document).ready(function(){.your code..})?它是如何工作的?您已经给出了按钮单击事件的代码,但我需要表单提交事件的代码。这就是问题所在,页面会刷新。(A)页面不必刷新,这是您的选择。使用JavaScript(在本例中为jQuery)可以在不刷新页面的情况下完成此操作。(B) 是的,您应该将代码包装在
$(document).ready(function(){…})
中。Jsfiddle在后台执行此操作,这就是我不必这样做的原因。(C) 通常,当您只有一个对象时使用ID,当您有多个对象时使用类。这并不重要。表单中的输入类型必须是submit。然后页面将刷新。
 $('#demoform').submit(function(e){
    e.preventDefault(); // Prevent from following the link
    $.post('mytest.php'); // and just post here if you are using php
});
 // please set ID attribute for all control

**HTML**
<div>
   <!-- Div One -->
   <div class="search_tag" id="search">
   <span id="show">Show search From</span>
   </div>

   <!-- Div Two -->
   <div class="search" id="submitButton">
     <form>
     ......
     <input class="submit" type="button" value="submit" id="submit" />
   </form>
  </div>
</div>


function pageLoad()
{
  $('#search').hide();


  $('#submit').click(function(){

    $('#submitButton').hide();
    $('#search').show();

  })

  $('#show').click(function(){

    $('#submitButton').show();        

  })



}