2017-04-13 91 views
0

所以我在這裏浪費了幾個小時,爲什麼這個東西沒有工作。我有一個更大的功能不工作,所以我決定測試這個小的功能,但它也沒有工作。沒有錯誤,但點擊按鈕後沒有任何事情發生。Onclick沒有做任何事情

<form> 
      <input type="text" id="textField"> 
      <input id="filtrooo" type="submit" value="Click"> 
    </form> 
<script> 
     document.getElementById("filtrooo").onclick = function(){ 
      document.getElementById("textField").innerHTML ="txt"; 
     }; 
</script> 

這裏有什麼問題?

+0

並非所有瀏覽器都直接支持onclick功能。嘗試使用'document.getElementById(「filtrooo」)。addEventListener(「click」,function(){alert('done');});' – TypedSource

+0

'textField'是一個輸入字段,使用'value'而不是' innerHTML'。 – Goose

回答

1

這就是現在沃金:

<form> 
 
    <input type="text" id="textField"> 
 
    <input id="filtrooo" type="button" value="Click"> 
 
</form> 
 
<script> 
 
    document.getElementById("filtrooo").onclick = function(){ 
 
     document.getElementById("textField").value = "txt"; 
 
    }; 
 
</script>

相反的innerHTML你應該寫value。另一個問題是,當你點擊提交按鈕時,頁面刷新並且輸入值被清除。所以,而不是type="submit"這裏我使用type="button"

+0

這一個工作!謝謝! – Mary

0

試試這個:

var filtrooo = document.getElementById("filtrooo"); 

function functionName() { 
    document.getElementById("textField").value ="txt"; 
} 

filtrooo.addEventListener("click", functionName); 
+0

你是對的,但你的代碼有一個失敗;)filterooo目前未定義 – TypedSource

+0

修復,現在,感謝您指出 – Xander

0

首先,與一個提交按鈕,頁面將被重新加載,所以你不會看到你的代碼做什麼。 然後,請勿使用.innerHTML。使用.value代替