2014-10-26 120 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

相关问题