2010-12-31 10 views
1

に '提出' という名前のボタン私は、このHTMLを持っている:クリック()Javascriptを

<input type="submit" name="submit" value="Invoeren" accesskey="s" class="buttons"/> 

I)は、(それをクリックしたいと思います。私はHTML側で何も変更することはできません。 。

>>> document.getElementById("submit").click(); 
Cannot convert 'document.getElementById("submit")' to object 

任意のヒント:私はgetElementByIdを( "提出")は()をクリックしてください場合は、私はこれを取得しますか?

答えて

2

(id属性を追加する)、そしてあなたは、これはクロスブラウザになりたい:あなたがHTMLを変更できない場合は、このような何かを行います入力要素のすべてと、それはあなたの送信ボタンと一致するまでのタイプと値の属性を確認してください。

function get_submit_button() { 
    var inputs = document.getElementsByTagName('INPUT'); 
    for(var i=0; i < inputs.length; i++) { 
     var inp = inputs[i]; 
     if(inp.type != 'submit') continue; 
     if(inp.value == 'Invoeren' && inp.name == 'submit') { 
      return inp; 
      break; // exits the loop 
     } 
    } 
    return false; 
} 

function click_submit() { 
    var inp = get_submit_button(); 
    if(inp) inp.click(); 
} 
-1

jQueryを調べるとよいでしょう。すべてがとても簡単になります。

1

getElementByIdを使用していますが、入力にid属性はありません。 IEがネームスペースを完全に覆い、name属性をid属性のように扱っても、それはあなたがすべきことではありません。私が見ることができる

<input id="submit" ... /> 
... 
document.getElementById('submit').click(); 
1

当面の問題は、あなたが入力するID submitを割り当てていないということですので、これは動作しません。

document.getElementById("submit")......... 

あなたにもIDを指定しない限り:

<input id="submit" type="submit" name="submit" value="Invoeren" accesskey="s" class="buttons"/> 
0

あなたの入力にはid属性がないので、idで検索することはできません。代わりにこれを使用してください。

<input id="submit" type="submit" name="submit" value="Invoeren" accesskey="s" class="buttons"/> 
+0

ある最初の要素

又は

document.getElementsByTagName("form")[0].elements[0].click(); 

あるおかげ、getElementByName関数はありますか? – Karlo

+0

@user https://developer.mozilla.org/en/DOM/document.getElementsByName –

0

は「提出」IDを持つどの要素がありません - あなたが名前付き要素「提出」を持っています。 Dylanが指摘するように、jQueryはすべてを簡単にしますが、自分で修正することができます。あなたは以上のループ可能性、あなたが実際のHTMLを編集することはできませんので

var buttons = document.getElementsByTagName("submit"); 
for (var i=0; i < buttons.length; i++) { 
    var button = buttons[i]; 
    if (button.getAttribute("name") === "submit") { 
    button.onclick = whatever ... 
3

注:「提出」の形で何かを呼び出しません!フォームのsubmitイベントをスクリプトから隠すでしょう。あなたがボタンにアクセスするための多くの方法

document.querySelector("[name=submit]").click(); // first named button 

document.querySelector("#form [name=submit]").click(); // in form with id="form" 

を持って

古いIEはあなたが名前にgetElementByIdをを使用することができるように名前をシャドウだろうが、それは推奨されません。

古い方法:

0が提出という名前のページの最初の要素である
document.getElementsByName("submit")[0].click(); 

forms[0]は最初のフォームと elements[0]ある
document.forms[0].elements[0].click(); 

("form")[0]は、ページ上の最初の形態であり、elements[0]は最初の要素

関連する問題