функция JavaScript всегда возвращает истину, даже если проверка ложна

0

У меня есть эта функция js, но она всегда возвращает true (даже если проверка прошла успешно и не имеет значения, я установил 2 значения tu false:

что мне не хватает?

function ValidaCajadeTextoVacia(clicked, controlID) {
  //para sacar los datos porque estan en una masterpage
  var dynCtrl = clicked.id.substring(0, clicked.id.lastIndexOf("_") + 1);
  var tBox = document.getElementById(dynCtrl + controlID);

  var CajaSinEspacios = jQuery.trim(tBox.value);
  //alert(CajaSinEspacios);
  //return false;
  if (CajaSinEspacios.length == 0) {
    alert('en blanco');
    return false;
  }
  else {
    alert('lleno');
    return false; //true
  }
}
  • 0
    Можете ли вы опубликовать код, который вызывает эту функцию?
  • 0
    эх, я тебе не верю. это просто невозможно. Вы уверены, что функция не определена дважды, а вторая все еще имеет значение true в другом? Вы получаете одно из предупреждений? как вы приходите к выводу, что это возвращается истина?
Теги:
validation

2 ответа

0
Лучший ответ

Извините, я нашел свою ошибку

У меня была функция БЕЗ ВОЗВРАТА НА HTML

<asp:ImageButton ID="imgBtnGuardar" runat="server" ImageUrl="~/imagenes/boton.guardar.jpg"  OnClientClick="ValidaCajadeTextoVacia(this,'txt_rol');MensajeCargandoJQUERY();"      />

и правильная форма

<asp:ImageButton ID="imgBtnGuardar" runat="server" ImageUrl="~/imagenes/boton.guardar.jpg"  OnClientClick="return ValidaCajadeTextoVacia(this,'txt_rol');MensajeCargandoJQUERY();"      />
  • 0
    я только что тестировал, это новый код: function ValidaCajadeTextoVacia(clicked, controlID) { //para sacar los datos porque estan en una masterpage var validar = false; var dynCtrl = clicked.id.substring(0, clicked.id.lastIndexOf("_") + 1); var tBox = document.getElementById(dynCtrl + controlID); var CajaSinEspacios = jQuery.trim(tBox.value); //alert(CajaSinEspacios); //return false; if (CajaSinEspacios.length == 0) { //alert('en blanco'); } else { //alert('lleno'); validar = true; } return validar; }
0

Убедитесь, что вы вызываете его следующим образом:

onclick="return ValidaCajadeTextoVacia()" 

ИЛИ для кнопки asp.net:

onClientClick="return ValidaCajadeTextoVacia()" 

Ещё вопросы

Сообщество Overcoder
Наверх
Меню