2014-05-19 65 views
-6

我真的不好在JavaScript和我的代碼由於某種原因不工作。我得到錯誤未定義不是一個函數javascript錯誤

Uncaught TypeError: undefined is not a function js.js:2 
cleaning js.js:2 
onblur (index):11 

js.js

function cleaning() { 
    var str = document.getElementByName("fitas").innerHTML; 
    str = str.replace(/^.+?(<url=[^>]+>).+$/, '$1'); 
    document.getElementByName("fitas").innerHTML = str; 
} 

HTML

<SCRIPT LANGUAGE="JavaScript" SRC="js.js"></SCRIPT> 
<center>   
<form method="post" action="check.php"> 
<h1>Enter your fit:</h1><br /> 

<textarea style="width: 500px; height: 400px;" name="fitas" class="text" placeholder="Input your fitting here" onblur="cleaning()"></textarea> 
<br> 
<input type="submit" name="check" class="btn btn-primary"> 
</form> 
</center> 

回答

1

getElementsByName注意s,沒有定義document.getElementByName

這將讓你一個節點列表,所以

function cleaning() { 
    var elem = document.getElementsByName("fitas")[0]; 

    elem.value = elem.value.replace(/^.+?(<url=[^>]+>).+$/, '$1'); 
} 

此外,你鍵入腳本標籤是在上個世紀九十年代popupar的方式,這幾天它的全部小寫,並且你不需要語言屬性,並且在HTML5中,您也不需要類型屬性。

+0

仍然不起作用,得到同樣的錯誤 – Mantas7776

+0

@ Mantas7776 - 改變innerHTML的價值,看到更新 – user3649503

+0

它的工作原理,多感謝,非常哇:d – Mantas7776

0
function cleaning() { 
    var str = document.getElementByName("fitas").innerHTML; 
    str = str.replace(/^.+?(<url=[^>]+>).+$/, '$1'); 
    document.getElementByName("fitas").innerHTML = str; 
} 

function cleaning() { 
    var str = document.getElementsByName("fitas").innerHTML; 
    str = str.replace(/^.+?(<url=[^>]+>).+$/, '$1'); 
    document.getElementByName("fitas").innerHTML = str; 
} 

不getElementByName但getElement [S]綽號

註釋

0

嘗試:

<script type="text/javascript" src="js.js"></script> 

而不是:

<SCRIPT LANGUAGE="JavaScript" SRC="js.js"></SCRIPT> 

此致敬意!

+0

雖然這是很好的建議一般,這不是主要的問題 - (非常多),所有瀏覽器仍然識別遺留的'language'屬性。 –

0

這是getElementsByName不getElementByName

而且,它返回一個數組,那麼試試這個:

function cleaning() { 
    var str = document.getElementsByName("fitas")[0].innerHTML; 
    str = str.replace(/^.+?(<url=[^>]+>).+$/, '$1'); 
    document.getElementsByName("fitas")[0].innerHTML = str; 
} 

編輯:我在最後一行犯了一個錯誤 - 它現在固定。

+0

仍然會出現相同的錯誤:/ – Mantas7776

+0

我在代碼中犯了一個錯誤。現在已經修復了。 – user3635146

相關問題