我的问题是,如果复选框已选中,则在文本框中插入的值将给出一个正方形。如果在文本框中为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>
答案 0 :(得分:0)
将var c = document.getElementById("txtbox");
替换为var c = document.getElementById("txtbox").value;
。您必须从input
获取值。
function myfun() {
var a = document.getElementById("checkedid");
var b;
var c = document.getElementById("txtbox").value;
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>
答案 1 :(得分:0)
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;
}
}
答案 2 :(得分:0)
这应该有效。唯一的假设是文本框具有值。
function myFunc() {
var chk = document.getElementById("checkedid");
if (chk.checked == true) {
var x = parseInt(document.getElementById("txtbox").value);
var result = x * x;
document.myform.txt.value = result.toString();
return false;
}
}