Javascript 用复选框中的值填充文本框
这是我到目前为止的代码Javascript 用复选框中的值填充文本框,javascript,textbox,checkbox,Javascript,Textbox,Checkbox,这是我到目前为止的代码 <head> <script type="text/javascript"> function list(c,n,z) { s=document.form.marktext.value; if (c.checked) { if (s.indexOf(n)<0) s+=', '+n; } else { s=document.form.marktext.value.replace(', '+n,''); }
<head>
<script type="text/javascript">
function list(c,n,z) {
s=document.form.marktext.value;
if (c.checked) {
if (s.indexOf(n)<0) s+=', '+n;
} else {
s=document.form.marktext.value.replace(', '+n,'');
}
z=", ";
if (s.substring(2) == z) s=s.substring(2);
document.form.marktext.value=s;}
function getchecked() {
var newtxt = '';
var chkbx = document.getElementsByTagName('input');
for(var i = 0; i < chkbx.length; i ++)
{
if(chkbx[i].type == 'checkbox' && chkbx[i].checked === true) {
if(newtxt.length !== 0) {
newtxt += ',';
}
newtxt += chkbx.innerHTML;
}
}
document.form.marktext.value = newtxt;
}
</script>
</head>
<body>
<form name="form">
<input type="text" value="" name="marktext"><br>
<input type="checkbox" name="mark" value="word" onclick="getchecked()">Word<br>
<input type="checkbox" name="mark" onclick="getchecked()">Type<br>
<input type="checkbox" name="mark" onclick="getchecked()">Other<br>
</form>
</body>
功能列表(c、n、z){
s=document.form.marktext.value;
如果(c.勾选){
如果(s.indexOf(n)propoEntry innerHtml不适用于收集文本框标签。另外,按照您的编码方式,这些不是标签
看看这个链接,我想你的解决方案在里面:注意newtext+=chkbx[i].value;
上的索引,而不是newtext+=chkbx.innerHTML;
<head>
<script type="text/javascript">
function list(c,n,z) {
s=document.form.marktext.value;
if (c.checked) {
if (s.indexOf(n)<0) s+=', '+n;
} else {
s=document.form.marktext.value.replace(', '+n,'');
}
z=", ";
if (s.substring(2) == z) s=s.substring(2);
document.form.marktext.value=s;}
function getchecked() {
var newtxt = '';
var chkbx = document.getElementsByTagName('input');
for(var i = 0; i < chkbx.length; i ++)
{
if(chkbx[i].type == 'checkbox' && chkbx[i].checked === true) {
if(newtxt.length !== 0) {
newtxt += ',';
}
newtxt += chkbx[i].value;
}
}
document.form.marktext.value = newtxt;
}
</script>
</head>
<body>
<form name="form">
<input type="text" value="" name="marktext"><br>
<input type="checkbox" name="mark" value="word" onclick="getchecked()">Word<br>
<input type="checkbox" name="mark" onclick="getchecked()" value="type">Type<br>
<input type="checkbox" name="mark" onclick="getchecked()" value="other">Other<br>
</form>
</body>
功能列表(c、n、z){
s=document.form.marktext.value;
如果(c.勾选){
如果(s.indexOf(n)更改此行
newtxt += chkbx.innerHTML;
到
没有innerHTML,但它有一个兄弟节点,即它旁边的文本节点。您可能希望显示此文本节点的“内容”。(注意:您的输出是“未定义”的,因为您在数组上而不是在
节点上调用了innerHTML)@t请记住将值放在复选框上,而不是innerHTML上
newtxt += chkbx[i].nextSibling.data;