Подтверждать, что стоимость неудара в лунку type number была больше, чем 0

Я нуждаюсь в том, чтобы подтвердить, что число, попавшее в один input он больше, чем 0.

У меня есть формуляр этого стиля, с этой функцией jquery:

$("#cantidad").keyup(function(){
		if($(this).val() <= 0){
			$("#guardar").attr("disabled",true);
		} else {
            $("#guardar").attr("disabled",false);
	});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form method="post" action="">
  <input type="number" id="cantidad"/>
  <button type="submit" id="guardar">Guardar</button>
</form>

Поместив число с клавиатурой, эта функция функционирует правильно, но если я помещаю число с мышью используя стрелы, которые появляются в inputs числового типа, не меняет это мне. Как я могу решать это?

2
задан 24.01.2017, 19:17
0 ответов

Вместо того, чтобы использовать событие keyup, ты можешь используй событие input (IE9+).

Так например:

$("#cantidad").on('input', function(){
  var cant = parseInt(this.value, 10);
  $("#guardar").attr("disabled", cant <= 0);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form method="post" action="">
  <input type="number" id="cantidad"/>
  <button type="submit" id="guardar">Guardar</button>
</form>
4
ответ дан 03.12.2019, 17:31
  • 1
    Спасибо, это было тем, что он искал. –  24.01.2017, 19:22
  • 2
    Podrí эксперт explocarme, который делает lí nea var cant = parseInt(this.value, 10);? что значит этот 10 ahí? –  24.01.2017, 19:25
  • 3
    @PavloB., nú морской окунь 10, - основание, которое применяется к цепи. Если этот не определяет результат, он будет зависеть от формата цепи. Больше info: parseInt. –  24.01.2017, 19:29

ты, должно быть, соединяешь событие 'flechitas' поля number.

$("#cantidad").keyup(function(){
   enableButton();
});

$("#cantidad").bind('keyup mouseup', function () {
    enableButton();           
});

function enableButton()
{
    var value = parseInt($("#cantidad").val());
    if(value <= 0){
    $("#guardar").attr("disabled",true);
  }
  else{
    $("#guardar").attr("disabled",false);
  }
}
1
ответ дан 03.12.2019, 17:31

Твой собственный пример, но применяясь jquery validation... проверь это и увидь, тебе хотелось ли использовать это:

introducir la descripción de la imagen aquí

introducir la descripción de la imagen aquí

$(document).ready(function(){
  Validar();
});

function Validar() {
    jQuery.extend(jQuery.validator.messages, {
        required: "Este campo es obligatorio.",
        remote: "Por favor, rellena este campo.",
        email: "Por favor, escribe una dirección de correo válida",
        url: "Por favor, escribe una URL válida.",
        date: "Por favor, escribe una fecha válida.",
        dateISO: "Por favor, escribe una fecha (ISO) válida.",
        number: "Por favor, escribe un número entero válido.",
        digits: "Por favor, escribe sólo dígitos.",
        creditcard: "Por favor, escribe un número de tarjeta válido.",
        equalTo: "Por favor, escribe el mismo valor de nuevo.",
        accept: "Por favor, escribe un valor con una extensión aceptada.",
        maxlength: jQuery.validator.format("Por favor, no escribas más de {0} caracteres."),
        minlength: jQuery.validator.format("Por favor, no escribas menos de {0} caracteres."),
        rangelength: jQuery.validator.format("Por favor, escribe un valor entre {0} y {1} caracteres."),
        range: jQuery.validator.format("Por favor, escribe un valor entre {0} y {1}."),
        max: jQuery.validator.format("Por favor, escribe un valor menor o igual a {0}."),
        min: jQuery.validator.format("Por favor, escribe un valor mayor o igual a {0}.")
    });


    $("#formValidate").validate({        
        success: "valid",
        submitHandler: function () {
            //Si todo esta bien aqui va el metodo que Guarda
          alert("Todo OK")
        }
    });
}

/*
$("#cantidad").keyup(function(){
		if($(this).val() <= 0){
			$("#guardar").attr("disabled",true);
		} else {
            $("#guardar").attr("disabled",false);
	});*/
/* Form Validation */
label.error {
	padding: 3px 4px 3px 4px;
	color: #c93605;
	font-weight: bold;
	text-shadow: 0px 1px 1px rgba(164, 44, 4, 0.20);
    -moz-text-shadow: 0px 1px 1px rgba(164, 44, 4, 0.20);
    -webkit-text-shadow: 0px 1px 1px rgba(164, 44, 4, 0.20);
    font-size:11px;
 }

form input.error {border: 1px solid #ED7A53 !important;}
form input.valid {border: 1px solid #9FC569 !important;}

.controls label.error {
	margin-top:-20px;
}
.controls .selector label.error {
	position: absolute;
	top: 5px;
	right: 0;
	margin:0;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.15.0/jquery.validate.min.js"></script>
<link href="http://getbootstrap.com/dist/css/bootstrap.css" rel="stylesheet" />

    <br/>    <br/>
<div class="container row">
<div class="col-xs-5">
  <form class="validate-form" method="post" action="" id="formValidate">
   
    <div class="form-group">

      <label for="cantidad">Cantidad</label>
      <input class="form-control col-xs-5" min="1" type="number" id="cantidad" required/>
    </div>
    <br/>    <br/>

    <button type="submit" class="btn btn-primary" id="guardar">Guardar</button>
  </form>

</div>
</div>
3
ответ дан 03.12.2019, 17:31

Ты должен реализовывать parseo стоимости твоего неудара в лунку

Я хочу сказать, конвертировать текст цепь твоего неудара в лунку и обращать это в числовую стоимость

Используя функцию parseInt ()

Кроме того я ощущаюсь, что у тебя нет блока else, следовательно, если число отрицательное, нет ничего, что снимал бы disabled

$("#cantidad").keyup(function(){
		if(parseInt($(this).val()) <= 0){
			$("#guardar").attr("disabled",true);
		}else{
                        $("#guardar").attr("disabled",false);
                }
	});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form method="post" action="">
  <input type="number" id="cantidad"/>
  <button type="submit" id="guardar">Guardar</button>
</form>
2
ответ дан 03.12.2019, 17:31
  • 1
    Оно я не функционирует таким образом также. –  24.01.2017, 19:06
  • 2
    Уже я это издал, попытайся снова –  24.01.2017, 19:06
  • 3
    Ты должен санкционировать также с else для в случае, что число было отрицательным, не оставил блокированным неудар в лунку –  24.01.2017, 19:07
  • 4
    Также. В самом деле я не думаю, что проблема - условий if or else просто он не включается keyup() –  24.01.2017, 19:08
  • 5
    @PavloB. Я издал пример, доказательство и ты говоришь мне, я думаю, что то, в чем ты нуждаешься –  24.01.2017, 19:09

Теги

Похожие вопросы