2016-05-23 20 views
1

我正在嘗試創建一個html字母。每封信都可能附帶或不附帶條件。這些條件存儲在external sql database中。如何使用JavaScript測試外部數據庫內容的HTML div?

如果一個html div包含的數據庫領域,如: -

<div id="Conditions"> 
    <p>dbfield(var)</p> 
</div> 

我需要做的是測試得到的數據,而不是實際的div本身是什麼。看看我的最後一次嘗試: -

<div id="Conditions"> 
    <p>dbfield(conditions)</p> 
</div> 

<div id="NoConditions"> 
    <p>No specific conditions apply</p> 
</div> 

<script type="text/javascript" language="javascript"> 
<!-- 
    if (document.getElementById("Conditions").innerHTML.length == 0){ 
     document.getElementById("Conditions").style.display = "none"; 
     document.getElementById("NoConditions").style.display = "inline"; 
    } 
    else { 
     document.getElementById("NoConditions").style.display = "inline"; 
     document.getElementById("Conditions").style.display = "none"; 
    } 
//--> 
</script> 

簡而言之,我的困境是我想測試結果是否從數據庫返回或不。

我知道這是一個奇怪的一個,但是這是我只有讀訪問web based interface創建該html套用信函內third party db。然而,預構建系統的功能非常有限(不能使用if或之後的功能),因此爲什麼我使用javascript來解決這些限制。

我假設它是做什麼用刁鑽的div數據的類型,我曾嘗試NULL測試「」測試,測試innerHTML,使用i++ counterchildren測試,haschildnode()測試。迄今爲止,它一直抵制我的所有訊問。

任何援助將不勝感激。 謝謝

+0

是什麼樣子裏面'Conditions'當你檢查元素? – cuniculus

回答

0

您在腳本中輸入的條件是錯誤的。您在ifelse部分都顯示NoConditions div爲內聯。其次,Conditions div的的length將總是大於0,因爲它每次都有一個p。取而代之的是p標籤的innerHTML。以下是相同的摘錄。我希望這可以解決您的查詢。

var pText = document.getElementById("Conditions").getElementsByTagName('p')[0].innerHTML; 
 
if (pText.length == 0){ 
 
     document.getElementById("Conditions").style.display = "none"; 
 
     document.getElementById("NoConditions").style.display = "inline"; 
 
    } 
 
    else { 
 
     document.getElementById("Conditions").style.display = "inline"; 
 
     document.getElementById("NoConditions").style.display = "none"; 
 
    }
<div id="Conditions"> 
 
    <p>Conditions</p> 
 
</div> 
 

 
<div id="NoConditions"> 
 
    <p>No specific conditions apply</p> 
 
</div>

+0

感謝您的超級快速回答。現在完美運作。 style.display「inline」和「none」問題是我在編輯腳本過多次時發生的錯誤,而實際上卻試圖做我真正的工作:-P –

+0

很高興工作! :) –

相關問題