2010-12-28 2 views
0

私はFacebookのために非常に普及したUserJSを作ったが、FF 3.6.13のバージョンからは(そのバージョンのために)うまくいきません。どのようにしてそのような要素をクリックすればいいのか分かりません:入力方法=最新のFirefoxで "submit"をクリックしますか?

<input value="Accept" type="submit" name="something... asdf" /> 

?そのようなボタンをマウスでクリックすると、別のページにリダイレクトされます。

何私のスクリプトが行うことはそれがオペラ座、ChromeとFF < 3.6.13に大きな動作しますが、最新バージョンでは何も起こらないのXpathでそのような要素を検索して、簡単なacceptbutton.click();

でそれらをクリックしています。私はfireoverとeventFireの両方の関数も試してみましたが、これはstackoverflowで見つかったもので、頻繁に役立ちますが、今回はできません。

おそらく、JQueryのclick()関数を使用すると便利ですが、私は自分のuserjでjqueryを使用できません。

私もacceptbutton.form.submit();を試しましたが、間違ったページにリダイレクトされます。

編集:

[OK]を私は、コードの断片に任意の助け

    var acceptbuttons = xpath(document,'//label[@class="uiButton uiButtonConfirm"]/input'); 
     for (var i = 0; i < acceptbuttons.snapshotLength; i++) { 
     //will search for particular accept button 
      var acceptbutton = acceptbuttons.snapshotItem(i); 
      var acceptbuttonName = acceptbutton.getAttribute("name"); 

      if(acceptbuttonName.indexOf(urlPart)!=-1) 
      { 
      // it founds button but function below do nothing in FF 
      acceptbutton.click();return; 
      } 
     } 

感謝を追加しています!

+0

完全なスクリプトへのリンクはいいと思います...編集を止めて、私はすでにそれを修正しました;) –

答えて

0

まあ、単純なdocument.whatever_formname.submit();トリックをする?

+0

私が言ったように、私は試しましたが、私は別のページにリダイレクトします通常のクリック。 – Kostrzak

+1

acceptbutton.form.submit()は私には奇妙に見えます...フォームの名前は "form"ですか?正しい構文は、私が覚えている限り、document.formname.submit()です... – Bosh

+0

私はこのStackOverflowの質問からそれを取った:http://stackoverflow.com/questions/991367/how-to-get-the-form-親の入力。そのページは50以上のフォームがあり、そのうちどれも名前がないので、私はそれをちょうどそれと呼ぶことができますが、フォームを提出することは私が探しているものです。私はちょうどそのボタンをクリックしてシミュレートする必要があります。 – Kostrzak

0

value="Accept"の部分が送信されないため、acceptbutton.form.submit();が機能しない場合は、非表示の入力を追加してそのようにしてください。

var hiddenInput = document.createElement('input'); 
hiddenInput.type = 'hidden'; 
hiddenInput.name = acceptbutton.name; 
hiddenInput.value = acceptbutton.value; 
acceptbutton.form.appendChild(hiddenInput); 
acceptbutton.form.submit(); 
+0

Boooshのコードと同じです。たぶんそれは価値を提出するが、それは私が間違ったページにリダイレクトさせるので、私が欲しいものではない。他のブラウザでは通常のマウスクリックやacceptbutton.click()を使用して、他のスクリプト機能を起動できる新しいページにリダイレクトされます。 – Kostrzak

1

あなた最新のFirefoxでsubmitボタンのclick()方法を使用することができます。あなたは何か間違っている。フォームのonsubmitイベントがクリックを妨げているのですか、間違ったボタンがありますか?

Firefox 3.6.13のロケーションバーにjavascript: document.getElementById('submit-button').click(); void(0);を貼り付けて送信しました。その考えのための信用はここに行きます:JavaScript auto-POST with NAME

関連する問題