html 从 id 发送参数到函数
html sending parameters to function from id
我是一个绝对的初学者,并试图找到类似的问题但找不到。如果之前已经回答过这个问题,我们深表歉意。
在我的作业中,我们需要创建一个包含 2 个文本字段和 1 个按钮的表单。这些字段用于高度和宽度,想法是按钮上的 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>
当你写
onclick="borderResize('height.value', 'width.value')"
in 表示单击 borderResize
函数时将使用两个字符串参数调用,即字符串 "height.value" 和 "width.value"。在你的情况下你想要这样的东西
onclick="borderResize(document.getElementById('height').value, document.getElementById('width').value)"
在上述情况下,您使用 getElementById
方法从 DOM 中选择元素,然后读取其值 属性。
onclick="borderResize('height.value', 'width.value')"
此处传递给 borderResize 字符串:'height.value'、'width.value'。
您可以从函数中获取输入值:
function borderResize(height1, width1)
{
document.getElementById('Amos').height = document.getElementById('height').value;
document.getElementById('Amos').width = document.getElementById('width').value;
}
你应该学会使用 addEventListener()
,我建议你不要使用丑陋的内联点击处理程序。
The EventTarget.addEventListener() method registers the specified listener on the EventTarget it's called on.
这是您的代码示例。
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)"
我是一个绝对的初学者,并试图找到类似的问题但找不到。如果之前已经回答过这个问题,我们深表歉意。
在我的作业中,我们需要创建一个包含 2 个文本字段和 1 个按钮的表单。这些字段用于高度和宽度,想法是按钮上的 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>
当你写
onclick="borderResize('height.value', 'width.value')"
in 表示单击 borderResize
函数时将使用两个字符串参数调用,即字符串 "height.value" 和 "width.value"。在你的情况下你想要这样的东西
onclick="borderResize(document.getElementById('height').value, document.getElementById('width').value)"
在上述情况下,您使用 getElementById
方法从 DOM 中选择元素,然后读取其值 属性。
onclick="borderResize('height.value', 'width.value')"
此处传递给 borderResize 字符串:'height.value'、'width.value'。 您可以从函数中获取输入值:
function borderResize(height1, width1)
{
document.getElementById('Amos').height = document.getElementById('height').value;
document.getElementById('Amos').width = document.getElementById('width').value;
}
你应该学会使用 addEventListener()
,我建议你不要使用丑陋的内联点击处理程序。
The EventTarget.addEventListener() method registers the specified listener on the EventTarget it's called on.
这是您的代码示例。
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)"