Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   как проверить значения и не отсылать форму? (https://javascript.ru/forum/misc/13555-kak-proverit-znacheniya-i-ne-otsylat-formu.html)

FRIE 03.12.2010 11:17

как проверить значения и не отсылать форму?
 
есть форма, которая отсылается

нужно проверить чтобы указанное значение первого поля не было меньше значения второго поля, и если это значение меньше, то выдать alert и не посылать форму.

Я сделал вот так, но почемуто это не работает
function checkCol(){
	var str = $('#col').val();  // первое поле
alert(str);// ответ  1
	var mincol = $('#pack').val();// второе поле
alert(mincol);// ответ 20
	if(str < mincol){
alert('Значение меньше чем надо'); 
	return  false;}
	}

алерт не выдается, соответственно условие if(str < mincol) не выполняется, странно. может он воспринимает числа как строки? тогда как привести к числу?

и если я просто делаю

function checkCol(){
return  false;
}


то форма почемуто всёравно отправляется

помогите разобраться, я уже 2 часа гуглю и не нагулгил ничего

exec 03.12.2010 11:48

function checkCol() {
	if ( +$('#col').val() < +$('#pack').val() ) {
		alert("Значение меньше, чем надо");
		return false;
	}
	return true;
}


onsubmit='return checkCol();'

monolithed 03.12.2010 12:35

лучше так:
<script src="http://code.jquery.com/jquery-1.4.4.js"></script>
<form action="" method="">
    <input type="text" />
    <input type="text" />
    <input type="submit" />
</form>
<p></p>
<script>
$(function(){
    $('form').submit(function() {
      if($("input:eq(0)").val() < $("input:eq(1)").val()) {
        $('p').css('color', 'green').text("Правильно...").show();
         alert("Отправили");
        return true;
      }
      $('p').css('color', 'red').text("Не правильно!").show().fadeOut(1000);
      return false;
    });
});
</script>


Часовой пояс GMT +3, время: 16:59.