2009-11-09 4 views
1

:수없는 나는 다음과 같은 코드를 사용하고

<div class="example"> 
    <p> <a href="#info" rel="facebox">View Facebox</a> </p> 
    <p> <input id="Button1" type="button" value="button" onclick="Get_Value();"/></p> 
</div> 

<div id="info" style="display:none;"> 
<p><input id="text1" name="text1" type="text" value="abc"/></p> 
<p> <input id="Button2" type="button" value="button" onclick="Get_Value();$.facebox.close(); return;"/> </p>     

<script type="text/javascript"> 
function Get_Value() 
{ 
alert($('#text1').val()); 

var myTextField = document.getElementById('text1'); 
alert("You entered: " + myTextField.value) 
} 
</script> 

문제는 내 경보 문에서, 나는,이다를 항상 텍스트 상자의 초기 값 'abc'를 얻습니다. text1; 사용자가 facebox 내부에서 열 때 입력 한 값은 아닙니다. 아무도 나를 도울 수 없습니까?

+0

R? – Treby

+0

예, JQuery를 사용하고 있습니다. – Hari

답변

0

흠, jQuery 1.3.2를 사용하면 예를 들어 보이지 않는 채로 링크를 클릭 할 때 FaceBox 영역이 표시되지 않는 것 같습니다. 다음 Facebox보기 링크를 사용하여 예제를 약간 수정 했으므로 이제 FaceBox가 제대로 표시 될뿐만 아니라 대화 상자에 현재 정보 (Safari 및 Firefox 모두)가 표시됩니다. 이게 도움이 되나요? facebox는 "상자"를 표시하고 동일한 ID를 유지하는 테이블에 다이빙의 "복사"를 만들기 때문에

<a href="#" onClick="javascript:$('#info').show(); return false;" rel="facebox">View Facebox</a> 
+0

안녕하세요, IE 7.0에서이 코드를 실행 중이며 잘 작동하는 것 같습니다. 아직 모질라에서 실행하지 않았습니까? 나는 또한 같은 버전의 jquery 1.3.2를 사용하고있다. 답장을 보내 주셔서 감사합니다 .-) – Hari

+0

그래,하지만 제안한 태그를 변경해 보았습니까? IE7에서도 문제를 해결해야합니다. –

0

alert($('.content #text1').val());와 시도는, 이것이

(당신은 방화범으로 일어나고 있음을 볼 수 있습니다)

편집 : 파이어 폭스, 크롬과 IE7의 예를 작업 :

<html> 
<head> 
    <title>unable to get value from textbox used inside a facebox</title> 
    <script type="text/javascript" src="jquery-1.3.2.min.js"></script> 
    <script type="text/javascript" src="facebox/facebox.js"></script> 
    <link rel="stylesheet" src="facebox/facebox.css"/> 
    <script type="text/javascript"> 
    jQuery(document).ready(function($) { 
     $('a[rel*=facebox]').facebox(); 
    }); 

    function Get_Value() { 
     alert($('#facebox input:first').val()); 
    } 
    </script> 
</head> 
<body> 
    <div class="example"> 
     <p><a href="#info" rel="facebox">View Facebox</a></p> 
     <p><input id="Button1" type="button" value="button" 
        onclick="Get_Value();"/></p> 
    </div> 

    <div id="info" style="display:none;"> 
     <form> 
      <input name="text1" type="text" /> 
      <input type="button" value="button" 
        onclick="Get_Value();$.facebox.close();"/> 
     </form> 
    </div> 
</body> 
</html> 
+0

안녕하세요, 사용하려고 시도했습니다. alert ($ ('. content # text1'). val()); 경고 메시지의 출력은 항상 "정의되지 않음"입니다. – Hari

+0

이것은 jQuery 1.3.2 및 Firefox 3.6과 함께 작동하지만이 플러그인의 작동 방식은 잘못된 IMHO입니다. IE7에서 "작동하지 않음"을 재현 할 수 있습니다. –

+0

고맙습니다. 너는 맞다. 감사합니다. 하리 – Hari

2

나는 해결책을 얻었다.

alert($('#facebox input:text:first').val()) 

그것은 텍스트 상자의 수정 된 값을 제공합니다

나는 다음과 같은 사용.

참조 : Getting value of an element inside facebox div using jquery 어쨌든

, 여러분 모두에게 감사 ... 유 jQuery를 사용하여

관련 문제