javascript - 如何处理文本框中的表达式取决于 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>
解决方案
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;
}
}