我有三个文本框
<asp:textbox id="txt1" runat=server>
<asp:textbox id="txt2" runat=server>
<asp:textbox id="txt1" runat=server>
<asp:button ID="btnCheck" text="check" runat=server onclick="btnCheck_Click">
如果txt1有值,我需要txt1和txt2。
这可以在javascript / jquery中实现,因为我不想触发复选框的onclick事件。
答案 0 :(得分:1)
您需要ClientID
属性才能获取元素ID。
ClientID属性获取由ASP.NET生成的HTML标记的控件ID。
如果您只是在javascript / jquery中使用tetxbox Id值,那么您将无法捕获元素,因为当{asp}将<asp:TextBox>
标记重新粘贴为HTML等效<input type="text>
时,asp.net也是使用系统生成的值重新生成id。
<script type="text/javascript">
$(function () {
$('#<%=btnCheck.ClientID%>').click(function () {
var txtBoxOne = $('#<%=txt1.ClientID%>').val();
var txtBoxTwo = $('#<%=txt2.ClientID%>').val();
var txtBoxThree = $('#<%=txt3.ClientID%>').val();
if (txtBoxOne != "") {
if (txtBoxTwo == "" || txtBoxThree == "") {
alert('Please enter');
return;
}
}
});
});
</script>
答案 1 :(得分:0)
试试这个
function btnCheck_Click(){
var txtbox1 = $('#yourtxt1id').val();
if(txtbox1.value.length == 0){
}
else{
$('#yourtxt3id').attr('disabled','true');
}
});
答案 2 :(得分:0)
首先,您不能重复id
。它应该是唯一的,因此请尝试将HTML更改为:
<asp:textbox id="txt1" runat=server>
<asp:textbox id="txt2" runat=server>
<asp:textbox id="txt3" runat=server>
<asp:button ID="btnCheck" text="check" runat=server>
之后,您可以使用此代码来完成任务:
$('#btnCheck').click(function() {
if ($('#txt1').val().length > 0) {
var txt2Val = $('#txt2').val().length,
txt3Val = $('#txt3').val().length;
if( txt2Val == 0 || txt3Val == 0) {
alert('Missing Value');
}
}
});
<强> Fiddle Demo 强>