我的目標是僅在用戶單擊聯繫頁鏈接時才加載recaptcha。jquery AJAX if/else基於(this).attr()
我已經成功地構建了使用導航鏈接來加載外部HTML內容轉換成基於以下函數索引頁面的主要內容DIV網站:
$('div#index_content').load($(this).attr('href') + ' #content');
當用戶點擊一個導航鏈接,從一個內容6個單獨的.html或PHP文件被裝入容器的index.html:
<div id="menu">
<ul>
<li><a href="home.html" class="active">Home</a></li>
<li><a href="fine_art.html" class="inactive">Fine Art</a></li>
<li><a href="sketches.html" class="inactive">Sketches</a></li>
<li><a href="props.html" class="inactive">Props</a></li>
<li><a href="contact.php" class="inactive">Contact</a></li>
</ul>
</div>
這所有功能100%。
下一步是要附加到其加載的reCAPTCHA與ID =「驗證碼」一空div我接觸形式.load語句功能:
$('div#page_content').load(($(this).attr('href') + ' #contentB'),
function() {
Recaptcha.create("my public key", "captcha");
}
);
該網站是在這個仍在運作點,但調用驗證碼函數運行每次點擊導航鏈接一次,我想創建一個只運行的ReCaptcha負載功能的if()語句,如果$(本).attr(「href」屬性)正在加載contact.php內容。換句話說,我想,當用戶點擊「聯繫人」,在導航欄也只加載驗證碼。
我想我的功能,這兩個版本,但驗證碼不會在任何情況下加載:
$('div#page_content').load(($(this).attr('href') + ' #contentB'),
function() {
if ($(this).attr('href') == 'contact.php') {
Recaptcha.create("my public key", "captcha");
}
}
);
和...
$('div#page_content').load(($(this).attr('href') + ' #contentB'),
function() {
var ifContact = $(this).attr('href');
if (ifContact == 'contact.php') {
Recaptcha.create("my public key", "captcha");
}
}
);
誰能告訴我什麼地方錯了,如果我()語句?請問$(本).attr(「href」屬性)實際上認爲可以等於什麼價值?
你釘了它。你同時也提高了我對javascript/Jquery的理解。謝謝! –