2011-01-18 1 views
1

Firefoxで動作していない確認ダイアログに問題がありますが、Chromeで作業しています。javascriptでダイアログの問題を確認する

<input type="submit" name="Odjava" value="Remove selected link" onclick="return odjava(somelink,'Do you really want to remove ')"/> 

次のようになりますJavaScriptコード: - onClickのは、「ダイアログの "確認"、およびユーザーの回答であれば生成Chromeで

function odjava(link,text) 
{ 
    if(link=="" || text=="") 
     return false; 
    return confirm(text + link + " ?"); 
} 

、すべてがOKである

htmlコードは次のようになりますはい "の場合はフォームが提出され、そうでない場合はフォームが提出されます。 Firefoxは「確認」ダイアログを表示せず、フォームを送信するだけです。

なぜですか?何が間違っているのですか?

** * * EDIT: 私はそれを得ました!私はちょうどこのように私のjavascriptを変更しました:

function odjava(text) 
{ 
    var linkovi = document.getElementById('linkovi'); 
    link = linkovi.options[linkovi.selectedIndex].text 
    if(link=="" || text=="") 
     return false; 
    return confirm(text + link + " ?"); 
} 

それは働いています。 Chromeはdocument.getElementByIdがなくてもドキュメント内の要素を見つけることができますが、FFはできません。

+1

「somelink」とは一部のhttpリンクの – SLaks

+0

エイリアス。 "select"の値なので "'"の下にはありません - links.options [links.selectedIndex] .text – guest86

+0

ChromeとFirefoxの両方でうまく動作します。 – Pointy

答えて

3

somelinkはFirefoxとChromeの両方で安全に定義されていますか?

someLinkが定義されている場合は、コードを試してもFFとChromeの両方で正常に動作し、定義されていない場合は両方で説明されているように機能しません。

+0

somelink = links.options [links.selectedIndex] .text – guest86

0

前にこれを見ていないが、グーグルのビットをしたし、次のを思い付いたん: http://www.tek-tips.com/viewthread.cfm?qid=1431250&page=10

は私には少し陳腐ようだが、私はとにかくそれを指摘するだろうと思いました。彼らは余分な "偽を返す"ことを推奨するように見えます。関数呼び出しの後のonclickで。

+0

ここでは、onclick文字列に 'return'が既に存在するので、これは必要ありません。 – Pointy

+0

はい、そのリンクでも同じです。彼らは、Firefoxの場合、最初の関数呼び出しからの復帰を待たずにいると主張していますか?私が言ったように私はうんざりだとは思わないが、彼らはそれが問題を解決したと言った。 –

+0

うまくいけば、コードはすでにFirefoxで完璧にうまく動作しています: – Pointy

関連する問題