簡體   English   中英

document.GetElementById不適用於任何類型的瀏覽器

[英]document.GetElementById doesn't work in any kind of browser

我正在嘗試獲取輸入(text / textarea)和document.getElementById('rtext').value什么都不返回。 如果我設置了默認值(value =“XXX”),則返回該值,如果我編輯它,則返回。

這是一些示例:

<div class="forms">
    <p><textarea id='rtext'></textarea></p>
</div>

我提到表單元素<textarea>不是任何表單的一部分,我被迫只使用document.getElementById 沒有jQuery,也沒有this.form.Id.value

請幫忙。 謝謝

getElementById() (大小寫很重要)是文檔對象的成員。 要調用該函數,您需要引用該對象,然后引用該函數。 點符號,應該是:

document.getElementById()

document.getElementById() - MDC

請注意,頁面上的ID 必須是唯一的 ,並且具有相同ID的其他元素可能會導致您的問題。

好吧,它是document.getElementById() ,innit?

適合我:

   <div class="forms">
       <p><textarea id='rtext'></textarea></p>
   </div>

   <input type    = "button" 
          onclick = "alert(document.getElementById('rtext').value);" 
          value   = "run" />

   <a     href    = "javascript:void(0);"
          onclick = "alert(document.getElementById('rtext').value)"
         >GET</a>

需要考慮的事項:

  • 確保調用代碼; 您的JavaScript可能存在錯誤
  • 確保id對於HTML / DOM是唯一的,正如Andy E指出的那樣,盡管我認為該函數將抓取它找到的第一個對象,如果有多個。
  • 確保拼寫/案例正確無誤; getElementById()getElementByID()不是同一個函數
  • 確保在使用正確的事件( onkeyup vs onkeypress )填充后嘗試獲取值

嘗試將代碼段放在<body>標記的末尾。 您的javascript可能 <textarea>元素加載之前執行。

所以:

<html>
<body>
 <div class="forms">
  <p><textarea id='rtext'></textarea></p>
 </div>
<script type="text/javascript">
  var el = document.getElementById('rtext');
  alert(el);
</script>
</body>
</html>

(我遺漏了頭部和其他標簽以保持緊湊:)

我解決了這個問題:

我插入了表單標簽,我修改了

<a href="javascript" 
    onclick="alert(document.getElementById('rname').value)">GET</a>

<input type="button" 
    onclick="document.getElementById('rname').value=this.form.rname.value" />`

它現在工作正常。

你有沒有嘗試過:

document.getElementById('rtext').textContent

既然你已經嘗試過每個人的解決方案而你找不到錯誤,我建議你嘗試在瀏覽器中調試JavaScript。

在IE8中(我不記得7是否有它)點擊F12並調出開發人員工具欄。 在腳本選項卡上,您可以在控制台中手動測試您的javascript或進行調試。

在FireFox中使用Firebug。

在Chrome中按Ctrl + Shift + J,控制台將位於屏幕底部。 您還可以在腳本選項卡上調試腳本。

如果您在更新面板中使用Text元素,則在頁面上呈現的Id不再是rtext。僅在您使用更新面板時。 查看源代碼以驗證ID是否保留為rtext

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM