首页 > 解决方案 > 如何处理文本框中的表达式取决于 java 脚本中的复选框?

问题描述

我的问题是,如果选中复选框,则插入文本框中的值会给出一个正方形。如果文本框中为 3,则单击复选框后,文本框中的结果必须为 9。

请仅使用 JavaScript 和 HTML 解决它。

function myfun() {
    var a = document.getElementById("checkedid");
    var b;
    var c = document.getElementById("txtbox");
    
    if(a.checked == true){
        alert("Value will be doubled");
        b = c*c;
        document.myform.txt.value = b;
        return false;
    }
}
<form name="myform">
    TextBox<input type="text" value="" name="txt" id="txtbox">
    <br/>
    Check Box<input type="checkbox" name="checkbx" id="checkedid" onclick="myfun()">
</form>

标签: javascripthtml

解决方案


    function myfun() {
        var a = document.getElementById("checkedid");
        var b;
        var c = document.getElementById("txtbox");
        
        if(a.checked == true){
            var temp = c.value
            b = temp * temp;
            c.value = b;
            return false;
        }
    }
    <form name="myform">
        TextBox<input type="text" value="" name="txt" id="txtbox">
        <br/>
        Check Box<input type="checkbox" name="checkbx" id="checkedid" onclick="myfun()">
    </form>

在这里,您从 ID 获取 elemnet。您需要对值而不是元素执行平方运算

利用

c.Value 而不是只有 c

function myfun()
   {
      var a = document.getElementById("checkedid");
      var c = document.getElementById("txtbox");
      var b;
      if(a.checked == true){
           //Use c.Value not c
           var temp = c.value;
           b = temp * temp;
           c.value = b;
           return false;
           }

   }

推荐阅读