ボタンを無効にするためにJavaScriptを使用しています。 IEで正常に動作しますが、FireFoxおよびchromeでは動作しません。私が取り組んでいるスクリプトは次のとおりです。
function disbtn(e) {
if ( someCondition == true ) {
document.getElementById('btn1').disabled = true;
} else {
document.getElementById('btn1').disabled = false;
}
そして私のHTMLには次のものがあります:
<input type="button" id="btn1" value="submit" />
setAttribute() および removeAttribute()
function disbtn(e) {
if ( someCondition == true ) {
document.getElementById('btn1').setAttribute("disabled","disabled");
} else {
document.getElementById('btn1').removeAttribute("disabled");
}
}
disabled
属性を直接設定してみてください:
if ( someCondition == true ) {
document.getElementById('btn1').setAttribute('disabled', 'disabled');
} else {
document.getElementById('btn1').removeAttribute('disabled');
}
GetElementByIdのブラウザーサポートには常に奇妙な問題があります。代わりに次を使用してみてください。
// document.getElementsBySelector are part of the prototype.js library available at http://api.prototypejs.org/dom/Element/prototype/getElementsBySelector/
function disbtn(e) {
if ( someCondition == true ) {
document.getElementsBySelector("#btn1")[0].setAttribute("disabled", "disabled");
} else {
document.getElementsBySelector("#btn1")[0].removeAttribute("disabled");
}
}
あるいは、単にこれを行うことができるjQueryを採用します。
function disbtn(e) {
if ( someCondition == true ) {
$("#btn1").attr("disabled", "disabled");
} else {
$("#btn1").removeAttr("disabled");
}
}
一部のjavascript関数は、特定のブラウザーで動作しない場合があります。 JQueryの使用を開始することをお勧めします
$('#btn1').each(function(){
this.disabled = false;
});
別の選択肢:
document.formname.elementname.disabled=true
FFおよびIE!:)で作業する