我现在用JS在两个SPAN中自动生成两个伪input文本框,现在要将文本框中的值取出并传回后台页面(.net/c#);
当document load完毕后我用getelementbyID和getElementsByTagName取不到伪文本框的值,还请高手指教<script type="javascript/text">
function TimePicker(speed) {
var strValue = '';
var me = this;
this.render = function(pId) {
var dv = document.createElement('div');
dv.className = 'timepicker';
// dv.innerHTML='<div class="left"><input type="text" maxlength="2" value="00" /><label>:</label><input type="text" maxlength="2" value="00"/><label>:</label><input //type="text" maxlength="2" value="00" /></div>\
// <div class="right"><img src="up.gif" title="增加" /><br /><img src="down.gif" title="减少" /></div><div style="clear:both"></div>';
dv.innerHTML = '<div class="left" id="left"><input type="text" maxlength="2" value="00" /><label>:</label><input type="text" maxlength="2" value="00"/></div>\
<div class="right" id="right"><img src="up.gif" title="增加" /><br /><img src="down.gif" title="减少" /></div><div style="clear:both"></div>';
document.getElementById(pId).appendChild(dv);
this.inputs = dv.getElementsByTagName('input');
this.imgs = dv.getElementsByTagName('img');
// this.inputs[0].onblur=function(){me.inputBlurHandler(this,true);}
this.inputs[0].onblur = this.inputs[1].onblur = function() { me.inputBlurHandler(this); }
this.imgs[0].onmousedown = function() { me.imgMouseDownHandler(1); }
this.imgs[1].onmousedown = function() { me.imgMouseDownHandler(-1); }
this.imgs[0].onmouseup = this.imgs[1].onmouseup = function() { me.go = false; }
}
//this.getValue=function(){return this.inputs[0].value+':'+this.inputs[1].value+':'+this.inputs[2].value;}
this.getValue = function() {
strValue = this.inputs[0].value + ':' + this.inputs[1].value;
return strValue;
}
this.padding = function(v) { if (v < 10) return '0' + v.toString(); return v; }
this.inputBlurHandler = function(obj, isHour) {
if (!/^\d{1,2}$/.test(obj.value)) obj.value = '00';
else {
var v = parseInt(obj.value, 10);
if ((!isHour && v >= 24) || (!isHour && v >= 60)) obj.value = '00';
}
}
this.increase = function(step) {
//var h=parseInt(this.inputs[0].value,10),m=parseInt(this.inputs[1].value,10),s=parseInt(this.inputs[2].value,10);
var h = parseInt(this.inputs[0].value, 10), m = parseInt(this.inputs[1].value, 10);
m += step;
//if(s>=60||s<0){m+=s<0?-1:1;s=s<0?59:0;}
if (m >= 60 || m < 0) { h += m < 0 ? -1 : 1; m = m < 0 ? 59 : 0; }
if (h >= 24 || h < 0) h = h < 0 ? 23 : 0;
//this.inputs[2].value=this.padding(s);
this.inputs[1].value = this.padding(m);
this.inputs[0].value = this.padding(h);
if (me.go) setTimeout(function() { me.increase(step); }, speed);
}
this.imgMouseDownHandler = function(step) {
this.go = true;
setTimeout(function() { me.increase(step); }, speed);
}
return strValue;
}
var tp1 = new TimePicker(200), tp2 = new TimePicker(200);
tp1.render('spStart');
tp2.render('spEnd');
</script>
<%---------------------------------分割线-------------------------------------%><body>
<span id="spStart"></span>
<span id="spEnd"></span>
</body>
当document load完毕后我用getelementbyID和getElementsByTagName取不到伪文本框的值,还请高手指教<script type="javascript/text">
function TimePicker(speed) {
var strValue = '';
var me = this;
this.render = function(pId) {
var dv = document.createElement('div');
dv.className = 'timepicker';
// dv.innerHTML='<div class="left"><input type="text" maxlength="2" value="00" /><label>:</label><input type="text" maxlength="2" value="00"/><label>:</label><input //type="text" maxlength="2" value="00" /></div>\
// <div class="right"><img src="up.gif" title="增加" /><br /><img src="down.gif" title="减少" /></div><div style="clear:both"></div>';
dv.innerHTML = '<div class="left" id="left"><input type="text" maxlength="2" value="00" /><label>:</label><input type="text" maxlength="2" value="00"/></div>\
<div class="right" id="right"><img src="up.gif" title="增加" /><br /><img src="down.gif" title="减少" /></div><div style="clear:both"></div>';
document.getElementById(pId).appendChild(dv);
this.inputs = dv.getElementsByTagName('input');
this.imgs = dv.getElementsByTagName('img');
// this.inputs[0].onblur=function(){me.inputBlurHandler(this,true);}
this.inputs[0].onblur = this.inputs[1].onblur = function() { me.inputBlurHandler(this); }
this.imgs[0].onmousedown = function() { me.imgMouseDownHandler(1); }
this.imgs[1].onmousedown = function() { me.imgMouseDownHandler(-1); }
this.imgs[0].onmouseup = this.imgs[1].onmouseup = function() { me.go = false; }
}
//this.getValue=function(){return this.inputs[0].value+':'+this.inputs[1].value+':'+this.inputs[2].value;}
this.getValue = function() {
strValue = this.inputs[0].value + ':' + this.inputs[1].value;
return strValue;
}
this.padding = function(v) { if (v < 10) return '0' + v.toString(); return v; }
this.inputBlurHandler = function(obj, isHour) {
if (!/^\d{1,2}$/.test(obj.value)) obj.value = '00';
else {
var v = parseInt(obj.value, 10);
if ((!isHour && v >= 24) || (!isHour && v >= 60)) obj.value = '00';
}
}
this.increase = function(step) {
//var h=parseInt(this.inputs[0].value,10),m=parseInt(this.inputs[1].value,10),s=parseInt(this.inputs[2].value,10);
var h = parseInt(this.inputs[0].value, 10), m = parseInt(this.inputs[1].value, 10);
m += step;
//if(s>=60||s<0){m+=s<0?-1:1;s=s<0?59:0;}
if (m >= 60 || m < 0) { h += m < 0 ? -1 : 1; m = m < 0 ? 59 : 0; }
if (h >= 24 || h < 0) h = h < 0 ? 23 : 0;
//this.inputs[2].value=this.padding(s);
this.inputs[1].value = this.padding(m);
this.inputs[0].value = this.padding(h);
if (me.go) setTimeout(function() { me.increase(step); }, speed);
}
this.imgMouseDownHandler = function(step) {
this.go = true;
setTimeout(function() { me.increase(step); }, speed);
}
return strValue;
}
var tp1 = new TimePicker(200), tp2 = new TimePicker(200);
tp1.render('spStart');
tp2.render('spEnd');
</script>
<%---------------------------------分割线-------------------------------------%><body>
<span id="spStart"></span>
<span id="spEnd"></span>
</body>
document.getElementById('这里面写id').innerHTML
你把js代码放到</body>标签上面~·
<span id="spStart"></span>
<span id="spEnd"></span><script type="javascript/text">
function TimePicker(speed) {
var strValue = '';
var me = this;
this.render = function(pId) {
var dv = document.createElement('div');
dv.className = 'timepicker';
// dv.innerHTML='<div class="left"><input type="text" maxlength="2" value="00" /><label>:</label><input type="text" maxlength="2" value="00"/><label>:</label><input //type="text" maxlength="2" value="00" /></div>\
// <div class="right"><img src="up.gif" title="增加" /><br /><img src="down.gif" title="减少" /></div><div style="clear:both"></div>';
dv.innerHTML = '<div class="left" id="left"><input type="text" maxlength="2" value="00" /><label>:</label><input type="text" maxlength="2" value="00"/></div>\
<div class="right" id="right"><img src="up.gif" title="增加" /><br /><img src="down.gif" title="减少" /></div><div style="clear:both"></div>';
document.getElementById(pId).appendChild(dv);
this.inputs = dv.getElementsByTagName('input');
this.imgs = dv.getElementsByTagName('img');
// this.inputs[0].onblur=function(){me.inputBlurHandler(this,true);}
this.inputs[0].onblur = this.inputs[1].onblur = function() { me.inputBlurHandler(this); }
this.imgs[0].onmousedown = function() { me.imgMouseDownHandler(1); }
this.imgs[1].onmousedown = function() { me.imgMouseDownHandler(-1); }
this.imgs[0].onmouseup = this.imgs[1].onmouseup = function() { me.go = false; }
}
//this.getValue=function(){return this.inputs[0].value+':'+this.inputs[1].value+':'+this.inputs[2].value;}
this.getValue = function() {
strValue = this.inputs[0].value + ':' + this.inputs[1].value;
return strValue;
}
this.padding = function(v) { if (v < 10) return '0' + v.toString(); return v; }
this.inputBlurHandler = function(obj, isHour) {
if (!/^\d{1,2}$/.test(obj.value)) obj.value = '00';
else {
var v = parseInt(obj.value, 10);
if ((!isHour && v >= 24) || (!isHour && v >= 60)) obj.value = '00';
}
}
this.increase = function(step) {
//var h=parseInt(this.inputs[0].value,10),m=parseInt(this.inputs[1].value,10),s=parseInt(this.inputs[2].value,10);
var h = parseInt(this.inputs[0].value, 10), m = parseInt(this.inputs[1].value, 10);
m += step;
//if(s>=60||s<0){m+=s<0?-1:1;s=s<0?59:0;}
if (m >= 60 || m < 0) { h += m < 0 ? -1 : 1; m = m < 0 ? 59 : 0; }
if (h >= 24 || h < 0) h = h < 0 ? 23 : 0;
//this.inputs[2].value=this.padding(s);
this.inputs[1].value = this.padding(m);
this.inputs[0].value = this.padding(h);
if (me.go) setTimeout(function() { me.increase(step); }, speed);
}
this.imgMouseDownHandler = function(step) {
this.go = true;
setTimeout(function() { me.increase(step); }, speed);
}
return strValue;
}
var tp1 = new TimePicker(200), tp2 = new TimePicker(200);
tp1.render('spStart');
tp2.render('spEnd');
</script>
</body>
如果取getElementById('spStart').innerHTMl的话还是可以将input中的内容全取出来,
不过我就只想要伪文本框中的值
len = inps.length,value = '';
for(var i = 0; i < len; i++){
value += inps[i].value;
}
alert(value)