我的asp.net mvc视图中有以下脚本: -
function disableform(id) {
$('#' + id).prop("disabled", true);
}
但是上面的函数只会禁用使用Internet Explorer的元素,但是无法在chrome或firefox上工作,我也尝试编写attr('disabled', 'disabled')
而不是.prop("disabled", true);
,但它没有解决问题。
我的Jquery版本是1.7.1
那么可能是什么问题?
BR
答案 0 :(得分:10)
禁用表单是错误的! IE只是搞乱了!你应该禁用字段。
function disableform(id) {
$('#' + id+' :input').prop("disabled",true);
}
答案 1 :(得分:1)
我运行ASP.NET并遇到同样的问题。
我放弃了Jquery,转而使用纯Javascript,效果很好。
var element = document.getElementById('MyID');
element.setAttribute('disabled', 'disabled');
编辑:要使其正常工作,您必须使用element.removeAttribute('disabled');何时启用该元素。否则它仍然是禁用的。
答案 2 :(得分:0)
我无法让它在chrome中删除属性,所以我只是添加了禁用的类,它不是真正的禁用但它适用于IE和Chrome
$('#search').on('click', function (event) {
$('#search').text("Searching");
$('#search').addClass("disabled");
return true;
});
答案 3 :(得分:-1)
function SwapA(SwapActivation) {
for (i=1;i==5;i++) {
if (i != SwapActivation) {
// All Browsers supported .....
$("input[name=pg1"+i+"]").prop('disabled', true);
$("input[name=pg2"+i+"]").prop('disabled', true);
}
else {
// JQuery 1.10+ _&&_ Opera 12 and All other browsers... !!!!
if ( $("input[name=pg1"+i+"]").prop('disabled') === true)
$("input[name=pg1"+i+"]").prop('disabled', false);
if ( $("input[name=pg2"+i+"]").prop('disabled') === true)
$("input[name=pg2"+i+"]").prop('disabled', false);
// works = JQuery 1.10+ _&&_ Opera 12.16 + Firefox 24;
// do not work "Opera 17.0.1241.53", "Chrome" v.30.0.1599.101 m
$("input[name=pg1"+i+"]").removeProp('disabled');
$("input[name=pg2"+i+"]").removeProp('disabled');
// .removeProp() is affects negative
// works possible = JQuery 1.4.x :
$("input").attr('name','pg1'+i)[0].removeProp('disabled');
$("input").attr('name','pg2'+i)[0].removeProp('disabled');
}}}
有用吗? :)