Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/470.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery函数无法使用.load()刷新div标记_Javascript_Php_Jquery - Fatal编程技术网

Javascript jQuery函数无法使用.load()刷新div标记

Javascript jQuery函数无法使用.load()刷新div标记,javascript,php,jquery,Javascript,Php,Jquery,我正在使用ajax post将我的值发送到(uploadsignupeditadvcheck.php)。提交成功后,我需要刷新我的div标签(galleryadv)以准备下次提交。我的ajax提交成功,但刷新后,我的jquery函数不再工作。我很感激你们能帮我解决这个问题。多谢各位 index.php <script> function uploadadv(){ var idadv = document.getElementById(&

我正在使用ajax post将我的值发送到(uploadsignupeditadvcheck.php)。提交成功后,我需要刷新我的div标签(galleryadv)以准备下次提交。我的ajax提交成功,但刷新后,我的jquery函数不再工作。我很感激你们能帮我解决这个问题。多谢各位

index.php

<script>
    function uploadadv(){
        
          var idadv = document.getElementById("idadv").value;
          var companynameadv = document.getElementById("companynameadv").value;  
          var usernameadv = document.getElementById("usernameadv").value;        
          var aboutmeadv = $("#aboutmedecsadv").val();
          var catadv = document.getElementById("catadv").value;
          var typeadv = document.getElementById("typeadv").value;
          var keywordadv = document.getElementById("keywordadv").value;  
          var addressadv = document.getElementById("addressadv").value;    
          var countryadv = document.getElementById("countryadv").value;
          var zipadv = document.getElementById("zipadv").value;
          var stateadv = document.getElementById("stateadv").value;
          var cityadv = document.getElementById("cityadv").value; 
          var urladv = document.getElementById("urladv").value; 
          var priceadv = document.getElementById("priceadv").value; 
          var advstamp = document.getElementById("advstamp").value; 
        
        
        var myData = 'idadv='+idadv+ '&companynameadv='+companynameadv+ '&usernameadv='+ usernameadv+ '&aboutmeadv='+aboutmeadv+ '&catadv='+catadv+ '&typeadv='+typeadv+ '&keywordadv='+ keywordadv+ '&addressadv='+ addressadv+ '&countryadv='+ countryadv+ '&zipadv='+ zipadv+ '&stateadv='+ stateadv+ '&cityadv='+ cityadv+ '&urladv='+ urladv+ '&priceadv='+ priceadv+ '&advstamp='+ advstamp;

        jQuery.ajax({
        type: "POST", // HTTP method POST or GET
        url: "uploadsignupeditadvcheck.php", //Where to make Ajax calls
        dataType:"text", // Data type, HTML, json etc.
        data:myData, //Form variables
        success:function(data){ 
            
           $('#messageeditcheckadv').html(data);

        },
        
        
        error:function (xhr, ajaxOptions, thrownError){
            alert(thrownError);
        }
        });  
    };
</script> 


 <script>
                                                 
 var btn_edit = $(".avatar-galleryadv"),    
 btn_save = $(".avatar-previewgalleryadvsave");
 
 
 btn_save.hide(0);

 
 btn_edit.on("click", function() {
    $(this).hide(0);
   
    btn_save.fadeIn(300);
});

 btn_save.on("click", function() {
    $(this).hide(0);
    
    btn_edit.fadeIn(300);
 });
    
    
 </script>   



<script>  

   $( ".fa-map-marker" ).click(function() {
      $( ".navtumbler" ).toggle( "fast" );
    });  
   
</script> 




 <div class="galleryadv">               

    <div class="avatar-galleryadv">
                                 
       <div class="avatar-editgalleryadv">
             <input type='file' id="uploadFileadv" accept=".png, .jpg, .jpeg" />
             <label for="imageadv"></label>
       </div>
                                       
       <div class="avatar-previewgalleryadv">
             <div id="imagePreviewgalleryadv" style="background-image: url(images/whitecamera.png); background-color:#181818; background-size:contain; background-repeat:no-repeat;"> 
             </div> 
       </div>

    </div>
                  


    <div class="avatar-previewgalleryadvsave">
       <i class="fa fa-floppy-o" aria-hidden="true" id="uploadimageadv" style="margin:1px 0px 0px 0.4px;"></i>
    </div>


    <div class="igVideoData" style="color:#FFF; float:left;">
                                                             
     
     <i class="fa fa-map-marker spriteTemplate" aria-hidden="true" ></i> 
                                         
                                                  
    </div>  

</div>           

您正在覆盖事件处理程序以前附加到的dom元素。因此,首先将单击事件附加到按钮,然后加载新的HTML并覆盖已附加处理程序的按钮,以便新按钮没有附加事件处理程序,这就是为什么它们不响应单击事件

将事件处理程序附加到未被覆盖的父元素,或者在加载并用新html覆盖后重新附加事件处理程序

我可能会将事件附加到它们的父级,这样当事件向上传播到dom树时,它就会得到处理

var buttons_parent = $('.galleryadv');

buttons_parent.on('click', '.avatar-galleryadv', function(){    
    $(this).hide(0);   
    $('.avatar-previewgalleryadvsave').fadeIn(300);
});

buttons_parent.on('click', '.avatar-previewgalleryadvsave', function(){
    $(this).hide(0);   
    $('.avatar-galleryadv').fadeIn(300);
});
这将代替
btn_edit.on(“单击”,function(){…
btn_save.on(“单击”,function(){…
)。我也不会通过变量中保存的引用引用来引用处理程序中的按钮,因为这些按钮在覆盖它们之后将无效,所以我总是通过它们的类名来查找它们


这样,即使按钮被覆盖,处理其单击事件的处理程序也完好无损。

感谢您帮助我解决了此问题,KoKa先生。非常感谢,但现在我的自定义选择标记始终更改为默认选择标记。需要一些帮助来解决我的自定义选择标记背景颜色,它会重新更改当div刷新时,请将其设置为默认颜色而不是黑色,谢谢。我假设您所说的标签是指div.galleryadv元素。它在ajax提交之前有背景色,还是应该在ajax提交之后才设置背景色?是的,我的选择标签是定制的,谢谢您的支持和支持看看我的情况,已经一周多了,我有4个问题,我用你的方法解决了3个问题,但是这个插件定制的选择标签不能用上面的方法工作。我已经发布了我的问题,但是没有人回复。如果可以的话,请帮我调查我的最后一个问题。非常感谢。这是我的链接。是的,它之前有背景色e ajax提交
var buttons_parent = $('.galleryadv');

buttons_parent.on('click', '.avatar-galleryadv', function(){    
    $(this).hide(0);   
    $('.avatar-previewgalleryadvsave').fadeIn(300);
});

buttons_parent.on('click', '.avatar-previewgalleryadvsave', function(){
    $(this).hide(0);   
    $('.avatar-galleryadv').fadeIn(300);
});