私は、クリックしたときにAjaxモーダルログインコンテンツを含む太いボックスのウィンドウを開くリンクをページに表示しています。奇妙なのは、alert('');
を削除すると、次のjquery行のコードが機能しないということです。 $('#logintest').before('<input type="hidden" value="' +st+ '" name="ReturnTo">');
jQueryでhtmlを追加する際に問題が発生しました
alert('');
がある場合、「logintest」というIDを持つ入力の前に、hiddenbox入力が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"> <input type="submit" id="cancel" value="Cancel" onclick="tb_remove();return false;"></td>
</tr>
「tb_show」とは何ですか? –
@nick:thickboxからのその関数は、隠された "lightbox" divを基本的に示しています。私が正しくリコールすれば、tb_showは実際にはいくつかの非同期DOM操作とビルド時にビルドを行います。 Id氏はそれが警告と一緒に働く理由は、tb_showが作業を終了するのに十分な長さの遅延を追加しているということです。 – prodigitalson
機能はここに投稿するのに少し時間がかかります。 – user357034