2013-11-15 39 views
-3

我想顯示自己的帳戶,只有當用戶登錄到網站,我創造成的NetSuite在這裏,這是我的帳戶部分的html代碼如何在用戶登錄時使用jquery顯示div?

<div class="name" style="display:none;" id=" 
my_act"><a href="https://checkout.netsuite.com/app/center/nlvisitor.nl/c.3727898/sc.6/.f?   ext=F">MY ACCOUNT</a></div> 

我米使用這個劇本,但它不工作

<script type="text/javascript"> 
var $j = jQuery.noConflict(); 
$j(function() 
{ 
    if (entityId != null && entityId != "") 
    { 
    $j('#my_act').css('display','block'); 
    } 
}); 
</script> 
+0

可能重複的[JQuery類型錯誤:id爲空](http://stackoverflow.com/questions/20006036/jquery-type-error-id-is-null) – rid

+0

如何解決它,請問我是新來的jQuery和js – user2997055

+0

我試圖提醒entityId的價值,但它給了我錯誤ID爲空 – user2997055

回答

0

我會說嘗試在if循環中放置一個警報,以檢查該腳本運行時該元素是否存在。

可能的是,該腳本是在DOM中實際獲取元素之前執行的gettig。

+0

我已經寫了腳本 – user2997055

0

首先,您無法單獨使用javascript/jQuery正確管理登錄。登錄最好使用後端語言進行管理,如PHP或ASP/.Net。這是因爲它是必須確定某人是否已登錄的服務器,而不是他們自己的瀏覽器。

本例中我將使用PHP作爲服務器語言。

用於跟蹤某人是否已經被驗證一個偉大的工具是PHP $ _SESSIONs

<?php 

    session_start(); 

    mysql_connect('localhost','my_cpanel_login_ID','my_cpanel_password') or die($connect_error); //or die(mysql_error()); 
    mysql_select_db('cpanelLoginID_dbname') or die($connect_error); 

    if(isset($_SESSION['user_name'])===true) { 
     echo '<div id="my_act">Here is the information from their account</div>'; 
    }else{ 
     echo '<a href="#" id="Login">Login</a>'; 
    } 

這裏有一些在線視頻教程,可以幫助:

  1. PHPAcademy.org - 曾經是免費的,但現在只是低價
    Registration and Login tutorial
    PHP and MySQL with PDO and mysqli_

  2. TheNewBoston.com - 試試這個:
    Project Lisa - Unfinished tutorial but very good
    Intro to PHP
    Intro to jQuery

+0

即時通訊使用netsuite實現這一點,並根據客戶ID只有我們可以確定是否有人登錄或不...我已經存儲客戶ID在entityId。 – user2997055

+0

這是您的問題中缺失的一條相當重要的信息。 Sameer(下面)有一個很好的建議:在你的if塊的頂部放置一個js alert(),這樣,如果entityId有一個值,至少你會知道這是工作... – gibberish

+0

是的,我試過了,實體有值 – user2997055

0
<html> 
<head> 
<script src="jquery.js"></script> 
<script> 
$j=jQuery.noConflict(); 
$j(document).ready(function() 
{ 
    $j("#my_act").show(); 
} 
) 
; 
</script> 
</head> 
<body> 
<div class="name" style="display:none" id="my_act"><a 

href="http://google.com">MY ACCOUNT</a></div> 
</body> 
</html> 

希望這有助於!

0

這不是一個答案,只是有些事情(未經測試),您可以嘗試擴展評論:

由於實體有一個值,你可以嘗試檢查ENTITYID的長度。首先,以提醒開始:

alert(entityId.length); 

確保它符合我們的要求。

然後,像:

if (entityId.length > 0) { 
    $j('#my_act').css('display','block'); 
} 

順便說一句,你確定你的jQuery.noConflict();代碼是否正常工作?嘗試一些簡單的(沒有任何如果語句添加任何額外的複雜層):

$j('#my_act').css({'color':'red','font-size':'bold'}); 

這是否工作?

+0

是的,它正在工作 – user2997055

+0

好的,第一次測試(最高)是否工作?也就是說,當您提醒entityId.length時,您獲得了什麼價值? – gibberish

相關問題