2014-01-23 4 views
2

У меня есть три текстового поляПроверьте, если текстовое поле имеет значение, чем другое текстовое поле требуется

<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 и txt2 требуется, если txt1 имеет значения.

Это возможно в javascript/jquery, потому что я не хочу запускать событие onclick этого флажка.

+0

Ответ на ваш вопрос: ДА, вы можете. Какой ответ? возможно, вы можете прочитать это -> Проверить это http://stackoverflow.com/questions/13528117/how-to-check-if-a-asp-text-box-is-empty-or-not Все, что у вас есть do узнать, как 1) получить значение текстового поля 2) проверить, пусто ли текстовое поле, 3) изменить атрибут текстового поля на включен/отключен – MJoraid

+0

Показать, что вы попробовали, и почему два элемента управления имеют одинаковый идентификатор? – Buzz

ответ

1

Вам потребуется ClientID свойство для получения идентификатора элемента. Свойство ClientID получает идентификатор элемента управления для разметки HTML, который генерируется ASP.NET.

Вы не сможете захватить элемент, если вы просто использовать tetxbox значение Id в JavaScript/JQuery, как когда <asp:TextBox> тег renedered по ASP.net как HTML эквивалента <input type="text>, asp.net также регенерирует идентификатор сгенерированной системы значения ,

<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> 
+0

Это отлично работает, теперь у меня есть вторая проблема. Когда я нажимаю кнопку «ОК» во всплывающем предупреждении, он будет непосредственно запускать событие кнопки. Я хочу, чтобы это не произошло в событии кнопки. –

0

Постарайся это один

function btnCheck_Click(){ 
     var txtbox1 = $('#yourtxt1id').val(); 
     if(txtbox1.value.length == 0){ 
     } 
     else{ 
      $('#yourtxt3id').attr('disabled','true'); 

     } 
    }); 
0

а) Прежде всего, все ид должны быть уникальными (правило HTML)

б) Во-вторых, я использую addEventListener (лучший вариант), следовательно, не OnClick не нужны код

с) Обрезать функция используется, чтобы избежать пустого пространства

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

Javascript Goe S здесь

<script type='text/javascript'> 
      var btn = document.getElementById("btnCheck"); 
     btn.addEventListener("click", modifyText, false); 
     function modifyText(){ 
      if((document.getElementById('txt1').value).trim() != ''){ 

       if((document.getElementById('txt2').value).trim()== '' || (document.getElementById('txt3').value).trim()== ''){ 
        alert('txt2 & text3 requried'); // your piece of code here 
       } 
      } 

     } 
    </script> 
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

Смежные вопросы