рони, и еще, если можно... я сделал так, чтобы форма проходила валидацию если будут пробелы до и после ввода цифр:
if (/\S+\D\S+/.test(str)) {
а как сделать валидацию пробелов в середине числа? например:(пробел25пробел7) что равно 257 спасибо |
sashgera,
if (!/^[\d\s]+$/.test(str)) |
Цитата:
если в поле набираю: пробел25пробел7пробел -то форма поиска не находит артикул 257 а если набираю пробел7пробел7 то находит артикул 7, а не 77 как нужно ....ну чтобы игнорировались пробелы:) |
sashgera,
если вам ненужны пробелы то причём здесь условие ? var str = $('#keyword').val() str = str.replace(/\D/g, ''); $('#keyword').val(str); |
sashgera,
function submitSearchForm() {
var str = $('#keyword').val();
str = str.replace(/\D/g, '');
$('#keyword').val(str);
if( !str || str == $('#keyword').data("placeholder") ) {
$('.er').animate({width:'show'}, 500); // показать div с ошибкой
return false;
}
return true
}
|
рони, я добавил вывод второй ошибки – только цифры, поэтому вы меня и не поняли
сделал так (код ниже) все работает, как я хотел: Нажатие кнопки/enter если поле не заполнено – ошибка: Укажите артикул! Если набрать не цифры – ошибка: Указывайте в артикуле только цифры! Ну и пробелы (до, после, в середине цифр ) удаляются.. Большое спасибо за помощь и терпение
<script type="text/javascript">
jQuery(function($) {
$("#keyword").focus(function() {
if ( $(this).val() == $(this).attr("data-placeholder") ) {
$(this).val("");
$(this).css("color","#040404");
}
}).blur(function() {
if ( !$(this).val() ) {
$(this).val( $(this).attr("data-placeholder") );
$(this).css("color","#858585");
}
}).focus().blur();
$('#searchFormButton').click(function(){$('form').submit()})
$('form').submit(submitSearchForm)
function submitSearchForm() {
if( !$.trim( $('#keyword').val() ) || $('#keyword').val() == $('#keyword').attr("data-placeholder") ) {
$('#error1').animate({width:'show'}, 500); // показать div с ошибкой: Укажите артикул!
return false;
}
var str = $('#keyword').val();
str = str.replace(/\D/g, '');
$('#keyword').val(str);
if( !str || str == $('#keyword').data("placeholder") ) {
$('.er').animate({width:'show'}, 500); // показать div с ошибкой: Указывайте в артикуле только цифры!
return false;
}
return true
}
$("#keyword").click(function(){ // спрятать div с ошибкой при клике в поле input
$(".er").animate({width:'hide'}, 300);
});
});
</script>
<!--BEGIN Search Box -->
<form action="<?php $sess->purl( $mm_action_url."index.php?page=shop.browse" )?>" method="post" id="searchForm" class="search">
<div style="float:left;">
<input name="keyword" type="search" class="input" id="keyword"
data-placeholder="<?php echo $VM_LANG->_('PHPSHOP_SEARCH_TITLE_SKU') ?>"
value="<?php echo $VM_LANG->_('PHPSHOP_SEARCH_TITLE_SKU') ?>"/>
<input class="submit" type="button" name="" value="" id="searchFormButton" />
</div>
</form>
<!-- End Search Box -->
<div class="er" id="error1"><?php echo $VM_LANG->_('PHPSHOP_NO_SEARCH_ERROR_1_SKU') ?></div> // div с ошибкой: Укажите артикул!
<div class="er" id="error2"><?php echo $VM_LANG->_('PHPSHOP_NO_SEARCH_ERROR_2_SKU') ?></div> // div с ошибкой: Указывайте в артикуле только цифры!
|
| Часовой пояс GMT +3, время: 15:03. |