在每个警报页面刷新后,它不应该刷新以停止刷新我使用阻止默认工作正常在 chrome 但不是在 firefox

After every alert page refreshes it should not refresh to stop refresh i used prevent default working fine in chrome but not in firefox

活动。防止在 chrome 中默认工作但在 firefox 中不工作 我已经尝试了这两种方法但没有工作 我已经搜索了所有可能的解决方案但它没有工作。 如果你想让我 post 我的所有代码,如果你没有发现错误,我会 post 它。

function validate_calc(e){
    event.preventDefault();



function validate_calc(event){
event.preventDefault();

if ($('input[name=water]:checked').length > 0) {

    var $radio = $('input[name=water]:checked');
    var id = $radio.attr('id');
    if(id == 'water'){
    if($('input[name=rad_waters]:checked').length > 0){
        if($('input[name=water_types]:checked').length > 0){
            $value = jQuery.trim($(".cal_input").val());
            if($value == ""){
            alert('Please Insert Values');
            return;
            } else {
                if($.isNumeric($(".cal_input").val())){
                var form_data = {
                 length: $('input[name="length"]').val(),
                 width: $('input[name="width"]').val(),
                    };

                    jQuery.ajax({
                    type        : "POST",
                    data        : form_data,
                    url         : baseurl+'solar_calculator/calculate_area',
                    success     : function(msg){
                    alert(msg);return;  
                    }
                    });
                }else{
                    alert('Value should be in Numbers.');
                    return;
                   }
            }
        }else{
            alert('Select a Sub water type');
            return;
        }
        }else{
        alert('Select a water type.');
        return;
        }
    } else {
    $value = jQuery.trim($(".cal_input").val());
            if($value == ""){
            alert('Please Insert Values');
            return;
            } else {
                if($.isNumeric($(".cal_input").val())){
                    var form_data = {
                 length: $('input[name="length"]').val(),
                 width: $('input[name="width"]').val(),
                    };
                    jQuery.ajax({
                    type        : "POST",
                    data        : form_data,
                    url         : baseurl+'solar_calculator/calculate_area',
                    success     : function(msg){
                    alert(msg);return;  
                    }
                    });
                }else{
                    alert('Value should be in Numbers.');
                    return;
                   }
            }
    }
    } else {
alert('Please Select a water type');
return;
}
}

或者我用这个方法都没用

function validate_calc(e){
    e.preventDefault();

........

您将事件作为函数中的 "e" 参数传递,然后用 "event" 引用它?正确的语法应该是

function validate_calc(e){
    e.preventDefault();
    // ...
}

另外,为了让您的代码正常工作,您必须将正确的事件值传递给该函数,否则它将无法正常工作。

您的代码在 chrome 中有效但在 firefox 中无效的原因是您使用的超级全局变量 "event" 是在 chrome 中定义的,但在 firefox 中没有。您可以在此处阅读更多内容 Unexpected access to "event" variable across browsers?

可用的示例代码:

$("form").submit(function(e) {
    validate_calc(e);
}

无效的示例代码:

$("form").submit(function() {
    validate_calc();
}

事件 - 事件阻止默认功能不起作用。

用id做 作为

$('#myid').click(function(event){
event.preventDefault;
alert('am i working....'); return
})