[英]Setting value to a form field with JavaScript
我有一个包含多个字段的Web表单。 其中三个是ano_evento,mes_evento和dia_evento(年,月和日)。 我想从这些字段中获取值,将其转换为日期格式,然后在另一个名为fecha_evento的字段中显示格式化的日期。 用户设置ano_evento的值(例如2014),mes_evento的值(例如11)和dia_evento的值(例如25)。 fecha_evento的值应为2014-11-25。 这三个字段中都有一个onchange方法:
对于ano_evento:
<select name="ano_evento" id ="ano_evento" onchange="cambiar_fecha()">
对于mes_evento:
<select name="mes_evento" id ="mes_evento" onchange="cambiar_fecha()">
对于dia_evento:
<select name="dia_evento" id="dia_evento" onchange ="cambiar_fecha()">
fecha_evento的字段:
<input type="text" name="fecha_evento" id="fecha_evento" value="0" size="32" />
这是脚本:
<script>
function cambiar_fecha(){
alert (document.getElementById("fecha_evento").value);
var ano = document.getElementById("ano_evento").value;
var mes = document.getElementById("mes_evento").value; //
var dia = document.getElementById("dia_evento").value;
document.getElementById("fecha_evento").value = ano+"-"+mes+"-"+dia;
}
</script>
当用户更改三个字段值中的任何一个时,将显示脚本内的警报,但是来自fecha_evento字段的值不会更改。
欢迎任何帮助
而不是内联javascript,我只需要使用querySelectorAll
HTML:
<select name="ano_evento" id ="ano_evento" >
<option value="1">1</option>
<option value="2">2</option>
</select>
<select name="mes_evento" id ="mes_evento" >
<option value="1">1</option>
<option value="2">2</option>
</select>
<select name="dia_evento" id="dia_evento" >
<option value="1">1</option>
<option value="2">2</option>
</select>
<input type="text" name="fecha_evento" id="fecha_evento" value="0" size="32" />
Javascript:
var a = document.querySelectorAll('select');
console.log(a);
for(var i = 0; i<a.length;i++) {
a[i].addEventListener('change',cambiar_fecha);
}
function cambiar_fecha(){
alert (document.getElementById("fecha_evento").value);
var ano = document.getElementById("ano_evento").value;
var mes = document.getElementById("mes_evento").value; //
var dia = document.getElementById("dia_evento").value;
document.getElementById("fecha_evento").value = ano+"-"+mes+"-"+dia;
}
你好吗?
试试这个代码:
<select name="ano_evento" id="ano_evento">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
<select name="mes_evento" id="mes_evento">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
<select name="dia_evento" id="dia_evento">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
<input type="text" name="fecha_evento" id="fecha_evento">
<script>
var ano = document.getElementById("ano_evento");
var mes = document.getElementById("mes_evento");
var dia = document.getElementById("dia_evento");
var fecha = document.getElementById("fecha_evento");
function cambiar_fecha() {
alert(fecha.value);
fecha.value = ano.value + "-" + mes.value + "-" + dia.value;
alert(fecha.value);
}
ano.onchange = cambiar_fecha;
mes.onchange = cambiar_fecha;
dia.onchange = cambiar_fecha;
</script>
建议:-将元素保存在变量中以优化执行,避免不断进行DOM访问。 -从JS设置事件处理程序。 -使用浏览器控制台查看是否存在JS错误。
问候。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.