2010-11-25 2 views
0

페이지에 링크를 클릭하면 Ajax 모달 로그인 콘텐츠가있는 두꺼운 상자 창이 열립니다. 이상한 점은 alert('');을 제거하면 다음 jquery 코드 줄이 작동하지 않는다는 것입니다. $('#logintest').before('<input type="hidden" value="' +st+ '" name="ReturnTo">');jQuery와 함께 html을 추가하는 데 문제가 있습니다.

alert('');이있는 경우 "logintest"ID가있는 입력 전에 묵음 입력이 thickbox 모달 창에 추가됩니다.

나는 왜, 누구를 알아낼 수 없었습니까? 여기

메인 페이지

<a class="login_links" id="myaccount" href="/myaccount.asp">My Account</a> 

<script type="text/javascript" language="javascript"> 
$(function(){ 
$(".login_links").click(function(){ 
var t = this.title || null; 
var s = $(this).attr("href"); 
var g = this.rel || false; 
var l = '/v/AjaxLogin.asp?height=100&width=300&modal=true' 
tb_show(t,l,g); 
var st = s.substr(s.lastIndexOf("/") + 1); 
alert(''); 
$('#logintest').before('<input type="hidden" value="' +st+ '" name="ReturnTo">'); 
return false; 
}); 
}); 
</script> 

의 코드입니다 그리고 여기

<div style="text-align:center "> 
<form action="/login.asp" method="post" name="loginform"> 
<table border="0" cellpadding="3" cellspacing="3" style="margin:0 auto;"> 
<tr> 
    <td>Username:</td> 
     <td><input type="text" maxlength="75" size="30" value="" name="email"></td> 
</tr> 
<tr> 
     <td>Password:</td> 
     <td align="left"><input id="logintest" type="password" maxlength="20" size="20" name="password"></td> 
</tr> 
<tr align="right"> 
     <td colspan="2"><input type="submit" value="Login">&nbsp;<input type="submit" id="cancel" value="Cancel" onclick="tb_remove();return false;"></td> 
</tr> 

+1

'tb_show'란 무엇입니까? –

+1

@nick : 기본적으로 숨겨진 "라이트 박스"div를 보여주는 thickbox의 기능입니다. 만약 내가 정확히 rec_obow 실제로 비동기 돔 조작 및 건물 호출을 호출 할 경우. Id wager tht가 경보와 함께 작동하는 이유는 tb_show가 작업을 끝내기에 충분할만큼 지연된 지연을 추가하고 있다는 것입니다. – prodigitalson

+0

이 기능은 여기에 게시하는 데 약간 길기 때문에 링크 할 수 있는지 보겠습니다. – user357034

답변

1

아약스로드가 비동기 아약스 페이지의 코드입니다. 그 경고없이 작동하지 않는 이유는 ajax 요청의 html이 아직 dom에 추가되지 않았기 때문입니다. 해당 코드를 success 콜백으로 이동해야합니다. TB가 제공하는지 여부는 확실하지 않습니다.

+0

내 원래 생각을 확인해 주셔서 감사합니다. – user357034

관련 문제