2012-07-21 61 views
2

當我點擊Button時,我想將輸入文本值更改爲'hello',但它似乎不起作用,這裏是我的代碼。優點請幫助我真的小白,先謝謝了!使用javascript更改窗體內部輸入文本的值

<script type="text/javascript"> 
function selectfile(){ 
    document.uploadform.selectfile.value='hello'; 
} 
</script> 


<body> 
<form name="uploadform" id="uploadform"> 
    <input type="text" name="selectfile" id="selectfile" value="Hi"/> 
    <input name="upload_file" type="button" onClick="selectfile()" value="Button"/> 
</form> 
</body> 
+1

你得到了什麼錯誤?你知道開發者控制檯(在Firefox或鉻的F12)嗎? – mindandmedia 2012-07-21 20:49:32

+0

我得到了:Uncaught TypeError:對象不是函數 O__O – user1543198 2012-07-21 21:02:41

回答

1

這應該是工作。這是您使用的完整HTML嗎?如果是這樣,你需要關閉你的標籤。它應該是這個樣子:

<html> 
<head> 
    <script type="text/javascript"> 
    function selectfile(){ 
    document.uploadform.selectfile.value='hello'; 
    } 
    </script> 
</head> 


<body> 
    <form name="uploadform" id="uploadform"> 
     <input type="text" name="selectfile" id="selectfile" value="Hi"/> 
     <input name="upload_file" type="button" onClick="selectfile()" value="Button"/> 
    </form> 
</body> 
</html> 
2

請參閱本example I put up on jsfiddle

function selectfile() { 
    var form = document.forms['uploadform']; 
    form.elements["selectfile"].value = 'Hello'; 
} 

var uploadButton = document.getElementById("upload-button"); 
uploadButton.addEventListener("click",selectfile); 

在處理函數中我第一次用它的id獲取表單,然後用名稱selectfile設置元素的值(你的輸入元素)。該按鈕的事件監聽器使用addEventListener添加。

您的代碼中的問題是,您稱爲函數和元素selectfile。所以你得到的「selectfile不是一個函數」錯誤。重命名其中的一個和it works

+0

仍然不起作用..:S – user1543198 2012-07-21 21:04:42

+0

對我來說,這個例子有效。您單擊該按鈕並將輸入元素的值更改爲「Hello」。您是否在控制檯(Firebug/Developer Tools)中遇到任何錯誤?你使用哪個瀏覽器? – Wolfram 2012-07-21 21:06:23

+0

請參閱我的編輯描述代碼中的錯誤。你可以看到它工作[這裏](http://jsfiddle.net/CmyJC/)。但我仍然認爲,在JavaScript代碼中添加處理程序並不是在HTML中更好(即更簡潔)。 – Wolfram 2012-07-21 21:10:58