如何在窗口加载后分配变量值
how to assign variable value after window onload
如何显示文本框。。。。。看见我将在加载后分配的最大值,因此以下代码不起作用。。。。。。。。
最大值等于用户选择的文件数。我无法在加载页面之前进行分配。。
<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>
<divs>
<noscript>Please enable JavaScript to see this form correctly</noscript>
</divs>
<div id="filename"></div>
<p>
<input type="submit" name="submit" value="Store in database" />
</p>
</form>
<!-------------user selected file's name in array------------------>
var filelist=new Array();
function insert(filess)
{
filelist[filelist.length]=filess;
var sahan=(filelist.valueOf());
}
max=filelist.length;
window.onload = function() {
var form = document.forms[0];
var container = form.getElementsByTagName('divs')[0];
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);
}
有太多的问题需要提及。
- 在使用它之前,您需要获得最大值,因此调用insert并从中发出调用以构建列表
- 您需要绕过最大值,或者使其在范围内全局化
- 您正在使用两种不同的ajax方法
- 您并没有在任何地方都使用jQuery等等
这是一个在加载前设置最大值的工作演示。
http://jsfiddle.net/mplungjan/rnJWX/
var maximum=0, current = 0;
$(document).ready(function(){
maximum=10;
var container = $("#sankar");
container.hide();
container.empty();
for (var i = 0; i < maximum; i++) {
container.append('<fieldset style="width: 250px; height: 80px;"><legend>Files of ' +(i + 1) + ' / ' + maximum + '</legend><input type="text" name="name' + i + '" /><br /><br /><input type="text" name="topic' + i + '" /></fieldset>');
}
goto(form, 0);
container.show();
})
function goto(form, pos) {
current += pos;
$('#my_div').html("Hiding all "+maximum+" sets and showing set #"+current+"..."); // sankar[curent];
form.prev.disabled = current <= 0;
form.next.disabled = current >= maximum - 1;
// you can do jQuery here too
var fields = form.getElementsByTagName('fieldset');
for (var i = 0; i < fields.length; i++) fields[i].style.display = 'none';
fields[current].style.display = 'block';
form['name' + current].focus();
}
既然已经为"容器"元素指定了ID,那么应该使用document.getElementById('divs')
而不是form.getElementsByTagName('divs')[0]
。在您当前的代码中,container
将是undefined
。
相关文章:
- JavaScript:单击时相对于父级增加变量值
- 如何通过ajax增加/减少PHP变量值并重新加载函数
- 如何从特定页面中提取php变量值
- JavaScript模数未正确递增变量值
- 替换另一个变量对象中的变量值
- mandrill合并标记不接受变量值
- 将变量值从一个javascript传递到另一个javascript
- 在javascript中分配变量值,并在html中使用
- 将视图中的JavaScript变量值分配给控制器变量
- 如何通过 javascript 对象文字的变量值分配多个键
- 在 Java 中重新分配变量值
- javascript可以't由于异步函数而分配变量值
- 基于Javascript中的变量值在页面重新加载后分配类
- 分配javascript变量值取决于html下拉列表部分
- Chrome扩展-变量值不分配取决于间隔持续时间
- 如何发送或分配Jquery变量值给php变量
- 如何在Razor视图中分配JavaScript变量值给服务器端变量
- 如何获得$.ajax()函数中分配的变量值
- 如何在窗口加载后分配变量值
- 在没有重新分配的情况下,函数内的变量值随时间变化