2011-10-21 20 views
0

私はこれが簡単だと感じましたが、私は少し時間をかけて少しは成功しました。私は、彼らは私がパネルに追加し、送信ボタンを押したときにフォームを提出させるための良い方法を見つけようとしている機能的な送信ボタンを追加

http://davidwalsh.name/facebook-lightbox

私は細字のモーダルウィンドウのIFRAMEのバージョンを使用しています。私がこれまでに見つかった最良のは、次のとおりです。

light = new LightFace.IFrame({ height:440, width:550, url: 'http://samplePage.html', 
title: 'Sample' }).addButton('Submit', function() { 
window.frames[window.frames.length-1].formName.submit();},'blue') 
.addButton('Close', function() {light.close(); },true).open(); 

私はこのコードで非常に自信を持ってないんだけど、それは、私はちょうどそれは1続く2番目だと仮定して探していますインラインフレームになっ提出するために、私は思います。これはウェブページ上で動作します。残念ながら、私はFacebookのiframe内にロードするFacebookブックアプリのためにこれを構築しています。 facebookページにロードするとき、コードは何もしません。

これに送信ボタンを追加する方がいいですか?

答えて

0

ただし、IFRAME内のiframeを置くことで多くの問題があってはならない。

window.frames[window.frames.length-1].formName.submit(); 

...非常によくトラブルを引き起こす可能性があります。

<form id="myForm"><!--- some form stuff --></form> 

と、それに到達するためにドル記号を使用します:私はIDを割り当てるすなわち、直接フォーム要素をターゲットにしようとしているときには、一種の、あなたのフォームを追跡している

$('myForm').submit(); 
+0

@カスミールこれは私がそれを試したときに動作しませんでした。限り、私はそれが本質的に私がそうしていたものと同じように動作すると言うことができます。 $( '#myForm')。submit(); 'は動作しませんでしたが、' window.frames [window.frames.length-1]。 Facebookのiframeビューにない自分のページのみ)。私はjavascriptが親ページで実行するので、送信を実行する前にiframeにドリルダウンする必要があると思います。私はIDの名前を設定することができますし、それを使用してみましたが、私は運がなかった。 – user967891

+0

さて、おそらく、Lightfaceの「組み込み」メソッドを使用せずに、別のアプローチを試みることができます。そこで、iframeにインラインJavaScriptを組み込んだイベントリスナーを追加するだけです: ' '。さらに、Facebook iframeを使用しているときに問題が「見られない」要素に関連している場合は、LightfaceからgetBox()メソッドを試すことができます。 – kasimir

+0

getBox()メソッドを使用しています。それは実際にiframeが入っているテーブルを取得しますが、そこからiframeに到達するのは難しくありませんでした。助けてくれてありがとう。 – user967891

関連する問題