相关疑难解决方法(0)

event.preventDefault()函数在IE中不起作用

以下是我的JavaScript(mootools)代码:

$('orderNowForm').addEvent('submit', function (event) {
    event.preventDefault();
    allFilled = false;
    $$(".required").each(function (inp) {
        if (inp.getValue() != '') {
            allFilled = true;
        }
    });

    if (!allFilled) {
        $$(".errormsg").setStyle('display', '');
        return;
    } else {
        $$('.defaultText').each(function (input) {
            if (input.getValue() == input.getAttribute('title')) {
                input.setAttribute('value', '');
            }
        });
    }

    this.send({
        onSuccess: function () {
            $('page_1_table').setStyle('display', 'none');
            $('page_2_table').setStyle('display', 'none');
            $('page_3_table').setStyle('display', '');
        }
    });
});
Run Code Online (Sandbox Code Playgroud)

在IE以外的所有浏览器中,这都可以.但在IE中,这会导致错误.我有IE8所以在使用它的JavaScript调试器时,我发现该event对象没有preventDefault导致错误的方法,因此表单已经提交.在Firefox(我发现使用Firebug)的情况下支持该方法.

任何帮助?

javascript events internet-explorer mootools preventdefault

202
推荐指数
5
解决办法
20万
查看次数

防止用户改变单选按钮的状态

我试图阻止用户使用jquery或javascript更改单选按钮的状态.我可以用残疾人的财产这样做,但我不喜欢灰色的外观.我向用户显示我的某个模型的真/假状态,因此我不希望他们能够更改它.根据模型,组中只有一个单选按钮被选中(true)或未选中(false),因此它们无法取消选中它,但可以检查和更改单选按钮状态.单选按钮不会以表格形式提交,因此它仅用于从数据库/模型中读取,但如果将其更改为实际在数据库中的相反值,则会出现糟糕的用户体验.这是我对jquery和html结构的最新尝试.

<input type="radio" checked="checked">
Run Code Online (Sandbox Code Playgroud)

要么

<input type="radio">
Run Code Online (Sandbox Code Playgroud)

和jquery

$(document).ready(function () {
    $(input[type = "radio"]).change(function () {
        $(this).removeAttr("checked");
    });
});
Run Code Online (Sandbox Code Playgroud)

html javascript asp.net-mvc jquery radio-button

3
推荐指数
2
解决办法
1万
查看次数