2014-10-26 116 views
0

我試過返回false;我已經嘗試event.preventdefault,似乎都沒有在Firfox工作。它在Chrome中運行得很好,但在IE或Firefox中無法運行?從當前頁面抓取信息,通過ajax將其發送到更新腳本,然後更新數據庫。如果使用firefox所有它重新加載頁面,並沒有做任何更新。返回false;不工作

這裏是按鈕的代碼:

<div class="col-md-12 text-right"> 
<button class="btn btn-primary btn-sm" id="savebutton" onclick="editthisframily();"><span class="fa fa-lg fa-floppy-o"></span><span id="framilyeditbutton"> Update Framily </span></button> 
<button class="btn btn-danger btn-sm" id="deletebutton"><span class="fa fa-lg fa-remove"></span><span id="framilydeletebutton"> Delete Framily</span></button> 
</div> 



// update framily member 
    // ======================== 

    function editthisframily() { 

     return false; 

     //event.preventDefault(); 

    var testdate = $('#ebirthday').val(); 

    if(testdate.length > 5) { 

    if(moment(testdate, ["MM/DD/YYYY"]).isValid()) { 
     //alert("good"); 
    } 
    else { 
     alert("date is bad"); 
     return; 
    }} 
      $('#framilyeditbutton').text(' Updating Framily. Please Wait ...'); 

       if($('#egender-f').is(":checked")) { 

        var gender = "f"; 
       } 
       else { 

        var gender = "m"; 
       } 

       if($('#remindertype_email').is(":checked")) { 

        var remindertype_email = "true"; 
       } 
       else { 

        var remindertype_email = "false"; 
       } 

       if($('#remindertype_sms').is(":checked")) { 

        var remindertype_sms = "true"; 
       } 
       else { 

        var remindertype_sms = "false"; 
       } 

       var myData = 'address1='+ $("#eaddress1").val()+'&address2='+$("#eaddress2").val()+'&city='+$("#ecity").val()+'&state='+$("#estate").val()+'&zipcode='+$("#ezipcode").val()+'&country='+$("#ecountry").val()+'&telephone='+$("#etelephone").val()+'&birthday='+$("#ebirthday").val()+'&gender='+gender+'&fullname='+$("#efullname").val()+'&email='+$("#eemail").val()+'&userid='+$("#userid").val()+'&relationship='+$("#erelationship").val(); //build a post data structure 

       // console.log(myData); 
       jQuery.ajax({ 
       type: "POST", // HTTP method POST or GET 
       url: "includes/updateframily.php", //Where to make Ajax calls 
       dataType:"text", // Data type, HTML, json etc. 
       data:myData, //Form variables 
       success:function(response){ 
        $("#responds").append(response); 

        setTimeout(function() { 

        $('#framilyeditbutton').text(' Framily Member Updated '); 
        framilyView(); 
        $('#framilyeditbutton').text(' Update Framily Member '); 

        }, 3000) 

       }, 
       error:function (xhr, ajaxOptions, thrownError){ 
        // $("#FormSubmit").show(); //show submit button 
        // $("#LoadingImage").hide(); //hide loading image 
        $('#buttontext').text(' something went wrong'); 
        alert(thrownError); 
       } 
       }); 
     }; 
+0

編輯HTML代碼爲'的onclick =「返回editthisframily( );「'。注意這個改變的代碼中的'return'。 – 2014-10-26 16:36:57

+0

避免使用內聯事件屬性,除非您的HTML代碼在某些情況下是自動生成的。 – 2014-10-26 16:49:13

回答

1

您需要返回函數的值在您的內聯處理程序:

onclick="return editthisframily()" 
+0

我對整個javascript的事情還是比較陌生,不知道我必須在onclick中返回它。它的工作,你救了我幾個小時的搜索!非常感謝! – 2014-10-26 16:48:53

相關問題