Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从ASP标记获取javascript中的null_Javascript_Asp.net - Fatal编程技术网

从ASP标记获取javascript中的null

从ASP标记获取javascript中的null,javascript,asp.net,Javascript,Asp.net,使用带有母版页的Web表单时,javascript语句会导致im变为空: 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 =

使用带有母版页的Web表单时,javascript语句会导致im变为空:

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('-');
}
//由于这一行出错,我将触发器更改为button标记上的onclick属性,但仍会出现相同的错误
//document.getElementById(“btn_fecha”).onclick=function(){validaFecha()};
函数validaFecha(){
变量in_dia=document.getElementById(“”);
变量in_mes=document.getElementById(“”);
var in_agno=document.getElementById(“”);
变量直径=直径内选项[直径内选择的索引]。值;
var mes=in_mes.options[in_mes.selectedIndex].value;
var agno=in\u agno.options[in\u agno.selectedIndex].value;
变量直径f=(直径<10)?“0”+直径:”+直径;
变量mes_f=(mes<10)?“0”+mes:“+mes”;
var fecha=新日期(agno+“-”+mes_f+“-”+dia_f)
var fecha_f=格式日期(fecha);
document.getElementById(“txt\u fecha\u nacimiento”).value=fecha\u f;
}
函数格式日期(日期){
var d=新日期(日期),
月份=“”+(d.getMonth()+1),
日期=“”+d.getDate(),
year=d.getFullYear();
如果(月长<2)
月份='0'+月份;
如果(日长<2)
天='0'+天;
返回[年、月、日]。加入('-');
}
这是我很难得到的标签:

<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中”更改为“简单”,并将ClientMode=“static”放在我所有的asp标记(我想要得到的标记)中,并且只在Javascript get by元素中使用id,而不是“”:

函数validaFecha(){
var in_dia=document.getElementById('drp_dia');
var in_mes=document.getElementById('drp_mes');
var in_agno=document.getElementById('drp_agno');
变量直径=直径内选项[直径内选择的索引]。值;
var mes=in_mes.options[in_mes.selectedIndex].value;
var agno=in\u agno.options[in\u agno.selectedIndex].value;
变量直径f=(直径<10)?“0”+直径:”+直径;
变量mes_f=(mes<10)?“0”+mes:“+mes”;
var fecha=新日期(agno+“-”+mes_f+“-”+dia_f)
var fecha_f=格式日期(fecha);
document.getElementById(“txt\u fecha\u nacimiento”).value=fecha\u f;
}
函数格式日期(日期){
var d=新日期(日期),
月份=“”+(d.getMonth()+1),
日期=“”+d.getDate(),
year=d.getFullYear();
如果(月长<2)
月份='0'+月份;
如果(日长<2)
天='0'+天;
返回[年、月、日]。加入('-');
}

它开始工作了

查看呈现的HTML会有所帮助,因为您的javascript报告了一个元素的空值…您在
ID=“drp_dia”
dropDownlist上呈现的内容,而所选索引不存在,或者不在选项范围内
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('-');
}