繁体   English   中英

从 ASP TAG 获取 javascript 中的 null

[英]Getting null in javascript from a ASP TAG

使用带有母版页的 Web 表单我从 javascript 语句中获取 null:

Javascript:

//becouse I was getting error with this line I change the trigger to the onclick attribute on the button tag, but keep getting the same error
//document.getElementById("btn_fecha").onclick = function() {validaFecha()};
function validaFecha(){
var in_dia = document.getElementById("<%=drp_dia.ClientID%>");
var in_mes = document.getElementById("<%=drp_mes.ClientID%>");
var in_agno = document.getElementById("<%=drp_agno.ClientID%>");

var dia = in_dia.options[in_dia.selectedIndex].value;
var mes = in_mes.options[in_mes.selectedIndex].value;
var agno = in_agno.options[in_agno.selectedIndex].value;

var dia_f = (dia < 10) ? "0" + dia : "" + dia;
var mes_f = (mes < 10) ? "0" + mes : "" + mes;

var fecha = new Date(agno + "-" + mes_f + "-" + dia_f)
var fecha_f = formatDate(fecha);

document.getElementById("txt_fecha_nacimiento").value = fecha_f;
}

function formatDate(date) {
    var d = new Date(date),
        month = '' + (d.getMonth() + 1),
        day = '' + d.getDate(),
        year = d.getFullYear();

    if (month.length < 2) 
        month = '0' + month;
    if (day.length < 2) 
        day = '0' + day;

    return [year, month, day].join('-');
}

这是我遇到问题的标签:

<td>
<asp:DropDownList ID="drp_dia" runat="server" ClientIDMode="static"></asp:DropDownList>
</td>
<td>
<asp:DropDownList ID="drp_mes" runat="server"></asp:DropDownList>
</td
<td>
<asp:DropDownList ID="drp_agno" runat="server"></asp:DropDownList>
</td>
<td>
<button Class="btn btn-secondary" ID="btn_fecha" type="button" onclick="validaFecha()">GUARDAR</button>
</td>

这是我得到的错误:在此处输入图像描述

我将 Javascript 中的所有 " 更改为 simple ' 并将 ClientIDMode="static" 放在我所有的 asp 标签中(我想获得的标签),并且只使用 javascript 中的 id 获取元素而不是 "<%=ID .ClientID%>":

function validaFecha(){
var in_dia = document.getElementById('drp_dia');
var in_mes = document.getElementById('drp_mes');
var in_agno = document.getElementById('drp_agno');

var dia = in_dia.options[in_dia.selectedIndex].value;
var mes = in_mes.options[in_mes.selectedIndex].value;
var agno = in_agno.options[in_agno.selectedIndex].value;

var dia_f = (dia < 10) ? "0" + dia : "" + dia;
var mes_f = (mes < 10) ? "0" + mes : "" + mes;

var fecha = new Date(agno + "-" + mes_f + "-" + dia_f)
var fecha_f = formatDate(fecha);

document.getElementById("txt_fecha_nacimiento").value = fecha_f;
}

function formatDate(date) {
    var d = new Date(date),
        month = '' + (d.getMonth() + 1),
        day = '' + d.getDate(),
        year = d.getFullYear();

    if (month.length < 2) 
        month = '0' + month;
    if (day.length < 2) 
        day = '0' + day;

    return [year, month, day].join('-');
}

它开始起作用了

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM