2011-01-18 7 views
1

Firefox에서 작동하지 않는 확인 대화 상자에 몇 가지 문제가 있지만 Chrome으로 작업하고 있습니다.javascript 대화 상자 문제 확인

HTML 코드는 다음과 같습니다과 같습니다 자바 스크립트 코드

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

: 크롬

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

을, 모든 것이 괜찮 - 온 클릭 대화를 "확인"생성하고, "와 경우 사용자 응답 예 "이면 양식이 제출되고 그렇지 않으면 양식이 제출됩니다. Firefox는 "확인"대화 상자를 표시하지 않습니다. 양식을 제출하기 만하면됩니다.

왜 그럴까요? 내가 도대체 ​​뭘 잘못하고있는 겁니까?

** * * 편집 : 겠어요! 방금 내 자바 스크립트를 다음과 같이 변경했습니다.

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'란 무엇입니까? – SLaks

+0

일부 http 링크의 별칭입니다. 그것은 "select"의 값이기 때문에 " '"아래에 있지 않습니다. - links.options [links.selectedIndex] .text – guest86

+0

크롬과 파이어 폭스 모두 저에게 잘 작동합니다. – 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

나에게 약간의 날조를 보이지만 어쨌든 그것을 지적 거라 생각 했어요. 그들이 여분의 "return false;"를 넣는 것이 좋습니다. onclick 함수 호출 후.

+0

여기에는 onclick 문자열에 이미 'return'이 있으므로 여기에는 필요하지 않습니다. – Pointy

+0

예, 해당 링크에서도 마찬가지입니다. 그들은 파이어 폭스가 첫 번째 함수 호출에서 돌아 오기를 기다리지 않을 것이라고 주장하고있다. 내가 말했듯이, 나는 몰래 들뜬 듯 보이지만 그들은 문제를 해결했다고 말했다. –

+0

잘 그 코드가 이미 완벽하게 잘 Firefox에서 작동합니다 :-) – Pointy