Javascript 如何在div中显示文本框
这是我的Javascript 如何在div中显示文本框,javascript,Javascript,这是我的index.php页面。另外,表格在我的弹出框中,用于获取描述 <form action="" method="post" onsubmit="store(this); return false"> <p> <input type="button" name="prev" onclick="goto(this.form, -1)" value="Previous" /> <input type="button" name="nex
index.php
页面。另外,表格在我的弹出框中,用于获取描述
<form action="" method="post" onsubmit="store(this); return false">
<p>
<input type="button" name="prev" onclick="goto(this.form, -1)" value="Previous" />
<input type="button" name="next" onclick="goto(this.form, +1)" value="Next" />
</p>
<div>
<noscript>Please enable JavaScript to see this form correctly</noscript>
</div>
<p>
<input type="submit" name="submit" value="Store in database" />
</p>
var max=files.length;
无功电流=0;
功能转到(表格、pos)
{
current+=pos;
form.prev.disabled=当前=最大值-1;
var fields=form.getElementsByTagName('fieldset');
对于(var i=0;i
函数存储(表格)
{
var input=form.getElementsByTagName('input');
var数据=“”;
对于(变量i=0;i
'的文件;
后藤(表0);
}
…
没有显示文本框。为什么?
<form action="" method="post" onsubmit="store(this); return false">
<p>
<input type="button" name="prev" onclick="goto(this.form, -1)" value="Previous" />
<input type="button" name="next" onclick="goto(this.form, +1)" value="Next" />
</p>
<div id="div1">
<noscript>Please enable JavaScript to see this form correctly</noscript>
</div>
<p>
<input type="submit" name="submit" value="Store in database" />
</p>
</form>
window.onload = function()
{
var container = documentgetElementByid("div1");
container.innerHTML = '';
for (var i = 0; i < max; i++)
container.innerHTML += '<fieldset style="width: 250px; height: 80px;"><legend>Files of ' +(i + 1) + ' / ' + max + '</legend><input type="text" name="name' + i + '" /><br /><br /><input type="text" name="topic' + i + '" /></fieldset>';
goto(form, 0);
}
请启用JavaScript以正确查看此表单
window.onload=函数()
{
var container=documentgetElementByid(“div1”);
container.innerHTML='';
对于(变量i=0;i
'的文件;
后藤(表0);
}
我的直觉告诉我,你传递的max
不正确,因此它要么是未定义的,要么是0,因此循环永远不会运行,要么你的选择器错误-将ID添加到元素中,然后这样做:
<form id="myForm" action="" method="post" onsubmit="store(this); return false">
<p>
<input type="button" name="prev" onclick="goto(this.form, -1)" value="Previous" />
<input type="button" name="next" onclick="goto(this.form, +1)" value="Next" />
</p>
<div id="container">
<noscript>Please enable JavaScript to see this form correctly</noscript>
</div>
<p>
<input type="submit" name="submit" value="Store in database" />
</p>
window.onload = function()
{
var form = document.getElementById('myForm');
var container = document.getElementById('container');
container.innerHTML = '';
var html = '';
for (var i = 0; i < max; i++)
{
var ofValue = (i + 1) + ' / ' + max;
html += '<fieldset style="width: 250px; height: 80px;">';
html += '<legend>Files of ' + ofValue + '</legend>';
html += '<input type="text" name="name' + i + '" /><br /><br />';
html += '<input type="text" name="topic' + i + '" /></fieldset>';
}
container.innerHTML = html;
goto(form, 0); //I am assuming this is a valid, defined method
//because it is also called from onclicks of Next/Prev buttons
}
请启用JavaScript以正确查看此表单
window.onload=函数()
{
var form=document.getElementById('myForm');
var container=document.getElementById('container');
container.innerHTML='';
var html='';
对于(变量i=0;i
';
html+='';
}
container.innerHTML=html;
goto(form,0);//我假设这是一个有效的、已定义的方法
//因为它也是通过单击下一个/上一个按钮来调用的
}
将id=“div1”
放入div标签中,
这将作为整个页面中JavaScript的标识符
<div id="dvi1">
<noscript>Please enable JavaScript to see this form correctly</noscript>
</div>
请启用JavaScript以正确查看此表单
首先,以格式化的方式将代码放入代码块,然后是您到底想要什么?您不能在JavaScript中使用。此外,不要像以前那样在innerHTML
中添加文本;改为使用临时字符串,并更改innerHTML
一次。@Marcel,在单击时查看一下他的输入按钮-goto必须是一个已定义的函数:函数goto(form,integer){…}
。我同意这个名字既不好又有误导性,但我不认为他是想把它当作基础语言中的goto来使用。@rochal:啊,是的,你是对的。只是那个关键词在我的大脑中触发了一些自动机。你会得到什么错误?您确定在调用onload
之前正确设置了max
吗?每次单击仅显示两个文本框…在您的脚本中总共显示4个文本框…这是一页中的html和js脚本…但我将在弹出框中显示文本框…代码上方不起作用。…@SANS:显示的框取决于max
,您没有显示它是如何声明的。再次:您确定在启动onload
之前正确设置了max
?此外,max
不是作为参数传递的,而是一个全局变量,您不应该使用它,这是一个不好的编程习惯。我使用了这个概念来获取每个文件的描述……。如果用户选择10个文件,那么每个文件每次单击分配两个文本框……。因此max=(10)文件数量(总共)i、 …我已经完成了…但是只有div的问题…所以你能给我一些想法吗idea@SANS您是如何以及在何处分配max
?您能(通过编辑您的问题)向我们展示您的代码吗?记住,“u”是一个字母,而不是“你”。
<form action="" method="post" onsubmit="store(this); return false">
<p>
<input type="button" name="prev" onclick="goto(this.form, -1)" value="Previous" />
<input type="button" name="next" onclick="goto(this.form, +1)" value="Next" />
</p>
<div id="div1">
<noscript>Please enable JavaScript to see this form correctly</noscript>
</div>
<p>
<input type="submit" name="submit" value="Store in database" />
</p>
</form>
window.onload = function()
{
var container = documentgetElementByid("div1");
container.innerHTML = '';
for (var i = 0; i < max; i++)
container.innerHTML += '<fieldset style="width: 250px; height: 80px;"><legend>Files of ' +(i + 1) + ' / ' + max + '</legend><input type="text" name="name' + i + '" /><br /><br /><input type="text" name="topic' + i + '" /></fieldset>';
goto(form, 0);
}
<form id="myForm" action="" method="post" onsubmit="store(this); return false">
<p>
<input type="button" name="prev" onclick="goto(this.form, -1)" value="Previous" />
<input type="button" name="next" onclick="goto(this.form, +1)" value="Next" />
</p>
<div id="container">
<noscript>Please enable JavaScript to see this form correctly</noscript>
</div>
<p>
<input type="submit" name="submit" value="Store in database" />
</p>
window.onload = function()
{
var form = document.getElementById('myForm');
var container = document.getElementById('container');
container.innerHTML = '';
var html = '';
for (var i = 0; i < max; i++)
{
var ofValue = (i + 1) + ' / ' + max;
html += '<fieldset style="width: 250px; height: 80px;">';
html += '<legend>Files of ' + ofValue + '</legend>';
html += '<input type="text" name="name' + i + '" /><br /><br />';
html += '<input type="text" name="topic' + i + '" /></fieldset>';
}
container.innerHTML = html;
goto(form, 0); //I am assuming this is a valid, defined method
//because it is also called from onclicks of Next/Prev buttons
}
<div id="dvi1">
<noscript>Please enable JavaScript to see this form correctly</noscript>
</div>