2015-11-05 30 views
1

我有一個多次包含的php文件,所以沒有一個ID,但是一次只能看到一個。我想要在這個PHP中顯示一個div,具體取決於什麼是鍵入的,即使它沒有ID,我可以這樣做嗎?包括PHP文件:使用javascript顯示div無ID

<script type="text/javascript"> 
    function mobilecheck(inputted) { 
     var findstring = "07"; 
     if (inputted.indexOf(findstring) > -1) { 
      //this works, I have tested with an 'alert' 
document.getElementsByName("hiddenMobileDiv").style.display="block"; 
//show hidden div - this bit isn't working, I think it's because there's multiple divs with this name 
      } 

    } 
</script> 

    <input type="tel" class="textbox" name="contactno" onkeypress="mobilecheck(this.value)"> 
    <div name="hiddenMobileDiv" style="display:none"> 
     <label class="label">What time can we contact you until?</label> 
    </div> 
+0

當你說「只有一個是可見的」,這是否意味着你是從DOM移除其他的人 - 或者只設置了顯示爲無?如果它們仍然存在於DOM上,則必須有額外的標準來確定要顯示的正確標準。如果他們被刪除,你可以使用joe_young的答案。 –

回答

0

document.getElementsByName返回一個數組,所以你需要使用:

document.getElementsByName("hiddenMobileDiv")[0].style.display="block"; 

添加一個[0]引用元素的數組名稱中的第一項「hiddenMobileDiv」


或者,如果你有一個以上的'hiddenMobileDiv'元素或要顯示所有這些,我們一個for循環:

for (i=0; i<document.getElementsByName("hiddenMobileDiv").length; i++) 
    document.getElementsByName("hiddenMobileDiv")[i].style.display="block"; 
+0

這隻有在DOM中首先出現所需的div時纔有效。有可能他有三個div都帶有這個名字,但是想要顯示的div出現在DOM的第三位。如果是這種情況,您的代碼將顯示錯誤的div。 –

+0

爲我精心打造,非常感謝 – Maff