プロが教える店舗&オフィスのセキュリティ対策術

JavaScriptの初心者でIE上で表示されたボタンをクリックしたいのですが、2つのボタンのうち1つをクリックしたいです。

「document.all("Buttonok").click();」,「document.getElementById("Buttonok").click();」と記入してみたのですが、エラーとなります。

下記のようなボタンをJavaScriptで押すにはどうしたらいいのでしょうか?

どなたかすいませんがご教授ください。

=====================================================
ボタンのHTML
※formで囲まれてないです。

<table border="0" cellspacing="0" cellpadding="0" width="150">
<tr>
<td width="50%">

<div id="Button">
<input type="buttonok" value="OK" class="Button" onclick="onClk("1");" />
</div>
<div id="Button">
<input type="buttonng" value="NG" class="Button" onclick="onClk("0");" />
</div>
</td>
</tr>
</table>

A 回答 (3件)

onclick="onClk("1");" となっていますが


onclick="onClk('1');" の打ち間違いでしょうか?

onclick="onClk("1");" ですと文法エラーで実行できません。
修正するか
下記のように直接関数を呼んでしまいましょう。

var inputs = document.getElementsByTagName("input");
for (var i = 0, l = inputs.length; i < l; i++) {
var input = inputs[i];
if (input.value== "OK") {
onClk("1");
break;
}
}
    • good
    • 0

試してみることとして



1) ie. を消す

2) <input>タグより後ろで実行する
    • good
    • 0

type



id
に書き換えると
幸せになれるわ

その上で別途
type="button"
を追加するといいわよ

この回答への補足

さっそくありがとうございます。
HTML部分は変更できないので、
他の方法があれば教えてください。

ちなみに下記のコードではエラーはないですが、ボタンをクリックしないです。

var inputs = ie.document.getElementsByTagName("input");
for (var i = 0, l = inputs.length; i < l; i++) {
var input = inputs[i];
if (input.value== "OK") {
input.click();
break;
}
}


HTML部分に誤記がありました。
====================
HTML

<div id="buttonok">
<input type="button" value="OK" class="Button" onclick="onClk("1");" />
</div>
<div id="buttonng">
<input type="button" value="NG" class="Button" onclick="onClk("0");" />
</div>
</td>
</tr>
</table>

補足日時:2014/05/13 15:00
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!