show()和hide()函数不起作用

时间:2014-08-09 13:00:41

标签: jquery

我尝试使用ID为back的按钮仅在用户收到错误消息时显示,问题是错误消息显示没有任何问题,但按钮不是&# 39;吨

$(document).ready(function(){    
 var button = $('#back');
 button.hide("fast");
 button.click(function(){
    $('#form').show();
    $("#result").hide();
    button.hide();
    });     
 $("#pgform").submit(function( event ) {
 event.preventDefault();     
    var nome = $('input[name= Nome]').val();
    var cognome = $('input[name= Cognome]').val();
    var background = $('#bktx').val();      
    var post_data = {'nome': nome,'cognome' : cognome,'background': background};        
    $.post('crea_pg_db.php',post_data,function(response){
        if(response.type =='error'){
            $("#result").addClass('failed');
            var output = "<strong>"+response.text +"</strong>";
            button.show();
        }
        else {
            $("#result").addClass('success');
            var output = "<strong>"+response.text+"<br /> Nome : </strong>"+ nome +"<br /> <strong>Cognome : </strong>"+cognome;                
        }           
        $('#form').hide();
        $("#result").hide().html(output).slideDown();           
    },'json');   
}); // end submit function
});//end document ready

修改

我找到了问题的解决方案。

功能.html(output)取代#result中的所有内容,它也替换了按钮代码,这就是它无法正常工作的原因,我已经更改了代码,现在一切正常

$(document).ready(function(){
 event.preventDefault();
 var status;     
 var nome = $('input[name= Nome]').val();
 var cognome = $('input[name= Cognome]').val();
 var background = $('#bktx').val();
 var post_data = {'nome': nome,'cognome' : cognome,'background': background};
 $.post('crea_pg_db.php',post_data,function(response){
    if(response.type =='error'){
        $("#result").addClass('failed');
        var output = "<strong>"+response.text +"</strong> <button id='back'>Indietro</button>";
        status = 1;
    }else{
        $("#result").addClass('success');
        var output = "<strong>"+response.text+"<br /> Nome : </strong>"+ nome +"<br /> <strong>Cognome : </strong>"+cognome;
    }
    $('#form').hide();
    $("#result").hide().html(output).slideDown();
    if(status == 1){
         var button = $('#back');
         button.click(function(){
            $('#form').show();
            $("#result").hide();
            button.hide();
        });
    }   
    },'json');
 }); // end submit function
});//end document ready

1 个答案:

答案 0 :(得分:0)

OP找到了解决方案to their problem

  

我找到了问题的解决方案。

     

功能.html(output)取代#result中的所有内容,它也替换了按钮代码,这就是它无法正常工作的原因,我已经更改了代码,现在一切正常

$(document).ready(function(){
 event.preventDefault();
 var status;     
 var nome = $('input[name= Nome]').val();
 var cognome = $('input[name= Cognome]').val();
 var background = $('#bktx').val();
 var post_data = {'nome': nome,'cognome' : cognome,'background': background};
 $.post('crea_pg_db.php',post_data,function(response){
    if(response.type =='error'){
        $("#result").addClass('failed');
        var output = "<strong>"+response.text +"</strong> <button id='back'>Indietro</button>";
        status = 1;
    }else{
        $("#result").addClass('success');
        var output = "<strong>"+response.text+"<br /> Nome : </strong>"+ nome +"<br /> <strong>Cognome : </strong>"+cognome;
    }
    $('#form').hide();
    $("#result").hide().html(output).slideDown();
    if(status == 1){
         var button = $('#back');
         button.click(function(){
            $('#form').show();
            $("#result").hide();
            button.hide();
        });
    }   
    },'json');
 }); // end submit function
});//end document ready