我是一个完全的初学者,并试图找到类似的问题,但不能。对不起,如果这已经得到了以前的答案。在我的作业中,我们需要创建一个包含两个文本字段和一个按钮的表单。字段用于显示高度和宽度,其思想是按钮上的onclick将向一个函数发送2个参数,该函数将更改照片的高度+宽度属性。我知道我做错了什么,因为照片消失了。想法?谢谢!
<html>
<head>
<script>
function borderResize(height1, width1)
{
document.getElementById('Amos').height = height1;
document.getElementById('Amos').width = width1;
}
</script>
</head>
<body>
<img src="Amos.jpg" id="Amos" />
<form>
<input type="text" id="height" placeholder="Height" />
<input type="text" id="width" placeholder="Width" />
<input type="button" value="click!" onclick="borderResize('height.value', 'width.value')"/>
</form>
</body>
</html>发布于 2015-02-28 13:38:30
当你写
onclick="borderResize('height.value', 'width.value')"这意味着在单击borderResize函数时,将使用两个字符串参数调用它,即字面上的字符串"height.value“和"width.value”。在你的情况下,你想要这样的东西
onclick="borderResize(document.getElementById('height').value, document.getElementById('width').value)"在上述情况下,您将使用getElementById方法从DOM中选择元素,然后读取其值属性。
发布于 2015-02-28 13:41:19
您应该学会使用addEventListener(),我建议您不要使用难看的内联单击处理程序。
EventTarget.addEventListener()方法在调用的EventTarget上注册指定的侦听器。
下面是一个代码示例。
window.onload = function() {
document.getElementById('button').addEventListener('click', borderResize, true);
}
function borderResize() {
document.getElementById('Amos').height = document.getElementById('height').value;
document.getElementById('Amos').width = document.getElementById('width').value;
}<img src="https://fbcdn-profile-a.akamaihd.net/hprofile-ak-xpf1/v/t1.0-1/s200x200/11034289_10152822971918167_2916173497205137007_n.jpg?oh=71de7a46a75a946cf1d76e5ab10c1cdc&oe=55889977&__gda__=1434173455_6127f174627ed6014c84e562f47bc44c" id="Amos" />
<input type="text" id="height" placeholder="Height" />
<input type="text" id="width" placeholder="Width" />
<input type="button" id="button" value="click!" />
然而,对于您当前的问题,您可以使用
onclick="borderResize(document.getElementById('height').value, document.getElementById('width').value)"发布于 2015-02-28 13:40:04
onclick="borderResize('height.value', 'width.value')" 在这里,您传递给borderResize字符串:‘here t.value’,'width.value‘。您可以从函数获得输入值:
function borderResize(height1, width1)
{
document.getElementById('Amos').height = document.getElementById('height').value;
document.getElementById('Amos').width = document.getElementById('width').value;
}https://stackoverflow.com/questions/28782297
复制相似问题