根据文本框中输入的数据调整图像大小

时间:2013-10-03 11:49:28

标签: javascript html

我有一个带有图像,按钮和文本框的表单。当单击按钮时,我将图像的高度和宽度调整为文本框中输入的内容。单击按钮时,我的图像就会消失。

继承我的代码

<!DOCTYPE HTML>
<html>
<head>
    <title>Resize Image</title>
</head>
<body>
<script>
    function resizeimage()
    {
        var theImg = document.getElementById('image');
        theImg.height = size;
        theImg.width = size;
    }
    var size=parseInt(document.getElementById('txtbox'));   
</script>


<form name ="ResizeImage">
<img src = "cookie.jpg" id="image">
</br>
<input type=button value="Resize" onclick="resizeimage()">
</br>
<input type=text id="txtbox"

</form>
</body>
</html>

3 个答案:

答案 0 :(得分:1)

除了HTML问题(请通过验证器运行),主要问题是读取图像大小的代码部分在函数之外。在页面加载时,会发生这种情况。

  1. 定义了函数resizeimage()
  2. var size设置为该点输入中的任何内容
  3. 页面内容已加载。
  4. 在2.输入甚至还不存在因为3.还没有完成,所以var size设置为undefined。之后它永远不会改变,因为函数resizeimage()不会再次尝试读取图像的大小。

    此外,document.getElementById返回一个元素。您必须使用它的.value属性

    来阅读用户放入的内容

    试试这个:

    function resizeimage()
    {
        var size=parseInt(document.getElementById('txtbox').value);   
        var theImg = document.getElementById('image');
        theImg.height = size;
        theImg.width = size;
    }
    

    工作示例:http://jsfiddle.net/KZH5p/

答案 1 :(得分:1)

我会首先缓存ID:

var input = document.getElementById('txtbox');
var theImg = document.getElementById('image');

function resizeimage() {
  var size = input.value;
  theImg.height = size;
  theImg.width = size;
}

答案 2 :(得分:0)

function changeDogsSize() {
    var dogSize = parseInt((id_input).value);
    id_dog.width = dogSize;
}
<!doctype html>
<html lang="en">
<head>
    <!-- Required meta tags -->
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">

    <!-- Bootstrap CSS -->
    <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css"
        integrity="sha384-Vkoo8x4CGsO3+Hhxv8T/Q5PaXtkKtu6ug5TOeNV6gBiFeWPGFN9MuhOf23Q9Ifjh" crossorigin="anonymous">
    <link rel="stylesheet" href="styles.css">
</head>
<body>
     <div class="container bg-light mt-3"></div>

     <!--changing dogs image-->
     <div class="container">
         <img id="id_dog" src="https://i.pinimg.com/originals/e4/9d/75/e49d755afcd02cdbf39d374b42a10ecd.jpg"  alt="dog">
         <input id="id_input" type="text" class="form-control mt-4" id="exampleInputAmount" placeholder="enter img width">
         <button id="id_changeBtn" onclick="changeDogsSize()" type="button" class="btn btn-secondary btn-lg mt-3 text-dark">Change</button>
     </div>
</body>
</html>