簡體   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