2012-07-21 60 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